11.已知两个完全平方三位数abc 和xyz,其中a、b、c、x、y、z 未必是不同的,而ax、by、cz 是三个完全平方数。求abc 和xyz
publicclass f{publicstaticvoidmain(String[] args){for(int i =100; i <1000; i++){//abcfor(int j =100; j <1000; j++){// xyzint c =(i/1)%10;int b =(i/10)%10;int a =(i/100)%10;int z =(j/1)%10;int x =(j/10)%10;int y =(j/100)%10;// 判断是否都是完全平方数if(isSquare(i)&&isSquare(j)&&isSquare(a*10+x)&&isSquare(b *10+ y)&&isSquare(c *10+ z)){System.out.println("abc:"+ i +"xyz:"+ j);}}}}publicstaticbooleanisSquare(int n){//判断是否为一个完全平方数if(n <0)//不正常范围returnfalse;if(n ==0|| n ==1)//正常且不是0和1returntrue;for(int i =1; i <= n/2; i++){//把范围内的数表示if(i * i == n)//判断是否是完全平方数returntrue;}returnfalse;// 在正常范围内且不是完全平方数}}
12.如果整数A 的全部因子(包括1,不包括A 本身)之和等于B,且整数B 的全部因子(包括1,不包括B 本身)之和等于A,则称整数A\B 是一对亲密数。求3000 以内的全部亲密数。
class 亲密数 {publicstaticvoidmain(String[] args){for(intA=1;A<3000;A++){//从头循环数AintB=0;//这是将A分解的因子加起来组成的BintC=0;//这是将B分解因子加起来看是否等于Afor(int i =1; i<=A/2; i++){//将A分解因子if(A%i ==0){B+=i;//将A的因子加起来,组成B}}for(int i =1; i<=B/2; i++){//将B分解因子if(B% i ==0){C+=i;//这是将B分解因子加起来看是否等于A}}if(C==A&&A!=B){//没有A<B是的话输出结果为“(220,284)(284,220)(1184,1210)(1210,1184)(2620,2924)(2924,2620)”System.out.print("("+A+","+B+")");}}}}