黑马程序员技术交流社区
标题:
数鸡蛋问题(for循环)
[打印本页]
作者:
悄然林静
时间:
2016-7-20 23:51
标题:
数鸡蛋问题(for循环)
一篮鸡蛋,不止一个。有人两个两个数,多余一个;三个三个数,多余一个;再四个四个地数,也多余一个。请问这篮鸡蛋至少有多少个?
容易知道鸡蛋个数为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;
}
复制代码
作者:
wc88212
时间:
2016-7-21 00:06
个人觉得第一种方法比较实用一些,也是比较常用的方式,话说这题用while应该更简便一些。
作者:
jilaiyuan
时间:
2016-7-21 09:50
第二种方法更好理解
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2