解题思路:
注意事项:
参考代码:
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 人评分