C语言求助答案20和70有没有相对简单的算法,我从1开始,算了差不多20分钟。。。
#include<stdio.h>int main()
{
int x,i;
for(i=1;i<=100;i++)
{
x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
printf("%d ",x);
}
}
28 70
--------------------------------
Process exited after 2.054 seconds with return value 0
请按任意键继续. . .
这种算法20分钟你电脑有问题吧。我这1秒都不用 ba21 发表于 2019-11-21 22:24
这种算法20分钟你电脑有问题吧。我这1秒都不用
手算的。。。阅读程序写结果的题,就是有没有简单的手算方法 本帖最后由 Croper 于 2019-11-21 23:08 编辑
看算法应该是找一个100以内的数X,且X+1能被2整除,X+2能被3整除,X+3能被7整除。输出X+3;
换句话说,就是
X%2=1,X%3=1,X%7=4,求X+3
-------------------------------------------
那么X-1肯定是6的倍数,
且又知道X-1除以7余3(也就是余-4);
而6除以7余-1,那么
X-1最小为6*4=24
6,7的最小公倍数是42,
因此X-1可以为24,24+42=66,24+42*2=108;
100以内的X为25或67;
X+3为28或70
页:
[1]