首页 > 编程语言 >50道编程题之09:一个数如果刚好等于它的因子之和,这个数就称为"完数"。例如6 = 1+2+3,编程实现求[a,b]之间的所有完数

50道编程题之09:一个数如果刚好等于它的因子之和,这个数就称为"完数"。例如6 = 1+2+3,编程实现求[a,b]之间的所有完数

时间:2023-02-09 14:35:08浏览次数:59  
标签:09 java int 编程 set split 完数 import


package com.demo;

/**
* Created by 莫文龙 on 2018/3/27.
*/

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

/**
* 一个数如果刚好等于它的因子之和,这个数就称为"完数"。
* 例如6 = 1+2+3,编程实现求[a,b]之间的所有完数
*
*/

public class Demo9 {

//创建一个新的数组就是这样的数组就可以了吗
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
String[] split = str.split(" ");
int a = Integer.parseInt(split[0]);
int b = Integer.parseInt(split[1]);
for (int i = a ; i <= b ; i ++) {
HashSet<Integer> set = new HashSet<>();
for (int j = 1 ; j < i ; j ++) {
if (i % j == 0) {
set.add(j);
}
}
int sum = 0;
for (Integer ii : set) {
sum += ii;
}
if (sum == i) {
System.out.println(i);
}
}
}
}


标签:09,java,int,编程,set,split,完数,import
From: https://blog.51cto.com/u_12182769/6046970

相关文章