一篮鸡蛋,不止一个。有人两个两个数,多余一个;三个三个数,多余一个;再四个四个地数,也多余一个。请问这篮鸡蛋至少有多少个?
容易知道鸡蛋个数为2、3、4的最小公倍数+1,所以:
第一种方法:
- #include<stdio.h>
- int main()
- {
- for(int i=2;;i++)
- {
- if(i%2==1&&i%3==1&&i%4==1) //当3个条件同时满足时,i的值就是鸡蛋个数
- {
- printf("鸡蛋个数为%d\n",i);
- break;
- }
- }
- }
复制代码
第二种:
- #include<stdio.h>
- int main()
- {
- int egg=0;
- /*当(i%2||i%3||i%4)==0时,停止循环,此时二二、叁叁、四四数法都刚好输完,鸡蛋个数为i+1个,那么再加上1就是实际的鸡蛋数量了*/
- for(int i=1;(i%2||i%3||i%4);i++)
- {
- egg=i+1+1;
- }
- printf("%d\n",egg);
- return 0;
- }
复制代码 |
|