代码

#include <stdio.h>
void main()
{int i;
 for (i=42;i<1000;i++)//最小公倍数
 {
  if(i%(2*3*7) == 0)
  {
   printf("%d\n",i);
  }
 }
}


点赞(9)
 

0.0分

8 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 6 条评论

red 3年前 回复TA
可以直接筛出42的倍数吗,2,3,7都是质数,他们的公倍数都是最小公倍数42的倍数。
渴望学到知识的菜鸟 3年前 回复TA
好厉害,这种题目居然还能有优解
我要年薪30w 4年前 回复TA
#include<stdio.h>//求出10至1000之内能同时被2、3、7整除的数,并输出。
int main()
{
int i;
for(i=10;i<=1000;i++)
{
    if(i%2==0&&i%3==0&&i%7==0)
        printf("%d\n",i);
}
return 0;
}
lodumani 4年前 回复TA
@HRP ==是从左到右结合,会先计算x%2==x%3,结果为0,然后计算0==x%7,结果还是0,最后计算0==0,结果为1.
HRP 4年前 回复TA
#include<stdio.h>
int main(){
    int x;
    for(x=10;x<=1000;x++){
        if(x%2==x%3==x%7==0){
            printf("%d\n",x);
        }
    }
    return 0;
}
为什么这个程序会输出所有数而不是输出要求的数?
老龙 7年前 回复TA
#include <stdio.h>

 int main(){
     for (int i = 10; i <100; i++) {
        if(i%(2*3*7)==0){
            printf("%d\n",i);
        }

     }
     return 0;
 }