c语言 编程求100至300间能被3,5,7同时整除的数,求这些数的和并将其打印出来

如题所述

3、5、7的最小公倍数是105,所以能被3、5、7同时整除的数就是能被105整除的数。从105开始步长105增量至300,所遇到的整数便是题目的答案。代码如下:

#include "stdio.h"
int main(int argc,char *argv[]){
int i;
for(i=105;i<300;i+=105)
printf("%4d",i);
printf("\n");
return 0;
}

运行结果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-04-28

简单,

第2个回答  2012-12-31
#include <stdio.h>
int main()
{
int i,num=3*5*7,sum=0;
for(i=1;num*i<=300;i++) //因为3*5*7已经大于100了,所以从i=1开始
{
sum+=i*num;
printf("%d\n",i*num);
}
printf("和:%d\n",sum);
return 0;
}追问

您这是自己做的还是?感觉不大对。。

追答

自己做的啊,哪不对?
能同时整除,那就是3*5*7=105的倍数啊,于是一倍、两倍、三倍。。。。一直到这个数不再小于300为止。
要从100遍历到300这样写也行,只是循环次数多些,而且还一直需要做求余运算,效率低点。
不过也没多大差别。

追问

额。。我自己的问题。。谢谢,采纳了。

本回答被提问者采纳
第3个回答  2012-12-31
#include <stdio.h>
int main()
{ int i,num=3*5*7,sum=0;
for(i=1;i*num<=300;i++)
{ num=i*num;
sum=sum+num;
printf("%d\n",num);
}
printf("和:%d\n",sum);
return 0;
}
第4个回答  2012-12-31
//自己嵌入
int i,z; z=3*5*7;
for(i=1;z<300;i++)
{ printf("%d/n",z*i);
}
相似回答