10字以下


私信TA

用户名:1710113044

访问量:3424

签 名:

30字以下

等  级
排  名 3216
经  验 1994
参赛次数 2
文章发表 3
年  龄 0
在职情况 学生
学  校 河南
专  业

  自我简介:

200字以下


解题思路:


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 人评分

  评论区

  • «
  • »