解题思路:
abcde分别代表个十百千万
注意事项:
如何输出排序?原有数组处理后比较,再输出
参考代码:
public class m { public static void main(String args[]) { int Ar[]=new int[10]; int ar[]=new int[10]; int n=0; for (int a = 0; a < 10; a++) { int ja = 0; if (a != 0) { ja++; for (int i = 1; i <= a; i++) { ja *= i; } } for (int b = 0; b < 10; b++) { int jb = 0; if (a != 0 || b != 0) { jb++; for (int i = 1; i <= b; i++) { jb *= i; } } for (int c = 0; c < 10; c++) { int jc = 0; if (a != 0 || b != 0 || c != 0) { jc++; for (int i = 1; i <= c; i++) { jc *= i; } } for (int d = 0; d < 10; d++) { int jd = 0; if (a != 0 || b != 0 || c != 0 || d != 0) { jd++; for (int i = 1; i <= d; i++) { jd *= i; } } for (int e = 0; e < 10; e++) { int je = 1; for (int i = 1; i <= e; i++) { je *= i; } int jie = ja + jb + jc + jd + je; if (jie == (e + d * 10 + c * 100 + b * 1000 + a * 10000) && jie > 0) { ar[n]=jie; if(ja==0)jie*=10; if(jb==0)jie*=10; if(jc==0)jie*=10; if(jd==0)jie*=10; Ar[n]=jie; n++; } } } } } } for(int i=0;i<10;i++) { for(int ii=i;ii<10;ii++) { if(Ar[i]>Ar[ii]) { int ff=Ar[ii]; Ar[ii]=Ar[i]; Ar[i]=ff; int f=ar[ii]; ar[ii]=ar[i]; ar[i]=f; } } } for(int i=0;i<10;i++) { if(ar[i]!=0) System.out.print(ar[i]+" "); } } }
0.0分
0 人评分
川哥的吩咐 (C语言代码)浏览:926 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:549 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:530 |
最长单词 (C语言代码)浏览:1474 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:821 |
WU-输入输出格式练习 (C++代码)浏览:1133 |
WU-C语言程序设计教程(第三版)课后习题11.12 (C++代码)(想学链表的小伙伴可以看看)浏览:964 |
矩阵加法 (C语言代码)浏览:1768 |
Hello, world! (C语言代码)浏览:766 |
Tom数 (C语言代码)浏览:598 |