java题目:一个数如果恰好等于它的因子之和, 这个数就称为”完数”。例如6=1+2+3.编程找出1000以内的所有完数。
时间: 2023-11-11 13:11:59 浏览: 59
```java
public class PerfectNumber {
public static void main(String[] args) {
for (int i = 1; i <= 1000; i++) {
int sum = 0;
for (int j = 1; j < i; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
System.out.println(i);
}
}
}
}
```
相关问题
用java编写 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
以下是使用Java编写的解决方案:
```java
public class PerfectNumber {
public static void main(String[] args) {
for (int i = 1; i <= 1000; i++) {
int sum = 0;
for (int j = 1; j < i; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
System.out.println(i + " is a perfect number.");
}
}
}
}
```
这个程序使用两个嵌套的循环来遍历1到1000之间的所有数字,并计算每个数字的因子之和。如果因子之和等于该数字本身,则将其输出为完数。
完数:一个数恰好等于它的因子之和 例如6=1+2+3代码
是这样的:
```python
def is_perfect_number(n):
factors_sum = sum([i for i in range(1, n) if n % i == 0])
return factors_sum == n
n = 6
if is_perfect_number(n):
print("{}是完数".format(n))
else:
print("{}不是完数".format(n))
```
输出结果为:
```
6是完数
```