![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
用c语言编程,计算100∼2015之间的数满足条件的和,条件是能被3整除,至少有一位
1个回答
展开全部
条件是什么意思,是有一位上的数能被3整除吗?而且最后答案是多少,可以校对一下吗
#include<stdio.h>
int is_ok(int m1,int m2,int m3){ //判断个十百位上是否被3整除。m4不需要判断
if(m1==3||m1==6||m1==9) //因为m4只有0,1,2两种可能
return 1; //不用 m1%3==0判断,是因为可以不用判断0的情况
if(m2==3||m2==6||m2==9)
return 1;
if(m3==3||m3==6||m3==9)
return 1;
return 0;
}
int main()
{
int m4,m3,m2,m1,a,sum;
//m4表示第千位,m3表示第百位,m2表示第十位,m1表示个位
//a表示某个数,1000*m4+100*m3+10*m2+m1;
//sum表示结果。
sum=0;
for(m4=0;m4<=2;++m4)
for(m3=0;m3<10;++m3)
for(m2=0;m2<10;++m2)
for(m1=0;m1<10;++m1)
{
a=1000*m4+100*m3+10*m2+m1;
if(a<100) continue;
if(a>2015) break;
if(is_ok(m1,m2,m3)) sum+=a;
}
printf("%d\n",sum);
}
#include<stdio.h>
int is_ok(int m1,int m2,int m3){ //判断个十百位上是否被3整除。m4不需要判断
if(m1==3||m1==6||m1==9) //因为m4只有0,1,2两种可能
return 1; //不用 m1%3==0判断,是因为可以不用判断0的情况
if(m2==3||m2==6||m2==9)
return 1;
if(m3==3||m3==6||m3==9)
return 1;
return 0;
}
int main()
{
int m4,m3,m2,m1,a,sum;
//m4表示第千位,m3表示第百位,m2表示第十位,m1表示个位
//a表示某个数,1000*m4+100*m3+10*m2+m1;
//sum表示结果。
sum=0;
for(m4=0;m4<=2;++m4)
for(m3=0;m3<10;++m3)
for(m2=0;m2<10;++m2)
for(m1=0;m1<10;++m1)
{
a=1000*m4+100*m3+10*m2+m1;
if(a<100) continue;
if(a>2015) break;
if(is_ok(m1,m2,m3)) sum+=a;
}
printf("%d\n",sum);
}
![](https://ecmc.bdimg.com/public03/b4cb859ca634443212c22993b0c87088.png)
2024-08-21 广告
在C++编程领域,北京引力弹弓科技有限公司重视扎实的基础。C++作为一门高效、灵活的编程语言,其面向对象、泛型编程等特性为开发高质量软件提供了强大支持。我们鼓励员工深入理解C++的内存管理、类与对象、继承与多态等核心概念,并通过实际项目不断...
点击进入详情页
本回答由MarsCode提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询