编程找出m~n之间的所有完数,m和n为从键盘输入的两个整数。

编程找出m~n之间的所有完数,m和n为从键盘输入的两个整数。一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3。

import java.util.Scanner;

class Main {

	public static void main(String[] args) {
		int m;
		int n;
		int t, sum = 1, flag = 0;
		Scanner reader = new Scanner(System.in);
		
			m = reader.nextInt();
			n = reader.nextInt();
			if (m > n) {
				t = n;
				n = m;
				m = t;
			}
			System.out.println(m + " to " + n + " WanShu:");
			for (int i = m; i < n; i++) {
				if (i == 1)
					continue;
				sum = 1;
				for (int j = 2; j < i; j++) {
					if (i % j == 0) {
						sum += j;
					}
				}
				if (sum == i) {
					flag = 1;
					System.out.printf("%d,", sum);
				}
			}
			if (flag == 0) {
				System.out.println("None");
			}
		}
	
}








版权声明:本文为m0_51780736原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。