3条回答 默认 最新
- CSDN专家-sinJack 2021-06-11 12:43关注
如有帮助望采纳,点击我回答右上角【采纳】按钮。
思路:
//思路就是遍历这段范围,判断其他因数相加是否等于它本身,等于的话,再依次输出。 // 出现运行超时的结果有可能是使用完Scanner没有及时关闭,最好用完就关掉。 // 还有一个要注意的点就是每次用完sum之后在下次使用之前要把sum赋值为一。
//思路就是遍历这段范围,判断其他因数相加是否等于它本身,等于的话,再依次输出。 // 出现运行超时的结果有可能是使用完Scanner没有及时关闭,最好用完就关掉。 // 还有一个要注意的点就是每次用完sum之后在下次使用之前要把sum赋值为一。 import java.util.Scanner; public class Test { public static void main(String[] agrs) { Scanner in=new Scanner(System.in); int m=in.nextInt(); int n=in.nextInt(); int i,j,sum,flag=0; for(i=m;i<=n;i++){ if(i==1) continue; sum=1; for(j=2;j<i;j++){ if(i%j==0) sum=sum+j; } if(sum==i){ flag=1; System.out.printf("%d",sum); in.close(); } } if(flag==0) System.out.println("None"); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用