解题思路:
注意事项:
参考代码:
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语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:662 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:570 |
【计算两点间的距离】 (C语言代码)浏览:884 |
程序员的表白 (C语言代码)浏览:667 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1311 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:672 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:886 |
字符串比较 (C语言代码)浏览:685 |
多输入输出练习2 (C语言代码)浏览:1657 |
简单的a+b (C语言代码)浏览:641 |