原题链接:C语言训练-阶乘和数*
解题思路:
注意事项:
参考代码:
int jie(int i){ int j,n=1; if(i==0||i==1)return 1;////注意:0的阶乘是1,这个知识点忘了的话就无法输出40585了! else{ for(j=1;j<=i;j++){ n*=j; } return n; } } int main(){ int jie(int i); int n1,k,sum1,t,temp; //1;[10,20);[100,200);[1000,2000);[10000,20000) for(n1=0;n1<5;n1++){ t=pow(10,n1); for(k=t;k<2*t;k++){ temp=k; sum1=0; while(temp!=0){ sum1+=jie(temp%10); temp=temp/10; } if(sum1==k){ printf("%d ",k); } } } //2;[20,30);[200,300);[2000,3000);[20000,30000) for(n1=0;n1<5;n1++){ t=pow(10,n1); for(k=2*t;k<3*t;k++){ temp=k; sum1=0; while(temp!=0){ sum1+=jie(temp%10); temp=temp/10; } if(sum1==k){ printf("%d ",k); } } } //3;[30,40);[300,400);[3000,4000);[30000,40000) for(n1=0;n1<5;n1++){ t=pow(10,n1); for(k=t*3;k<4*t;k++){ temp=k; sum1=0; while(temp!=0){ sum1+=jie(temp%10); temp=temp/10; } if(sum1==k){ printf("%d ",k); } } } //4;[40,50);[400,500);[4000,5000);[40000,50000) for(n1=0;n1<5;n1++){ t=pow(10,n1); for(k=t*4;k<t*5;k++){ temp=k; sum1=0; while(temp!=0){ sum1+=jie(temp%10); temp=temp/10; } if(sum1==k){ printf("%d",k); } } } return 0; }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复