数组不能存储同样的东西
1101计算整数的每一位
int[] num = new int[length1(n)];
int i = 0;
while (n!=0) {
num[i] = n%10;
n/=10;
i++;
}
原想法:计算位数,存储到数组中,输出
1102
double强制转换为int,后面的小数都会被省略
1105
先审题错了
审题后时间超限制
import java.util.*;
public class DEMO2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int m = input.nextInt();
int n = input.nextInt();
int flag = 0;
for (int i = m; i < n; i++) {
int a = Fac(i);
for (int j = i + 1; j <= n; j++) {
int b = Fac(j);
if (a == j && i == b) {
flag++;
System.out.println(i + " " + j);
}
}
}
if (flag == 0) System.out.println("No answer");
}
public static int Fac(int n) {
int sum=0;
for (int i = 1; i < n; i++) {
if(n%i==0) sum+=i;
}
return sum;
}
}
查到的答案
for (int i = m; i < n; i++) {
t=Fac(i);
if(i==Fac(t)&&i
就是说,如果算出的fac(i),有满足的数,肯定会等于之后的数,然后判断这个i,等不等于fac(fac(i)),这个需要再做



