可以帮我,写一个代码输出1000以内的所有完数吗
时间: 2024-01-23 11:01:45 浏览: 76
当然可以,以下是代码:
```python
def is_perfect(num):
sum = 0
for i in range(1, num):
if num % i == 0:
sum += i
return sum == num
for i in range(1, 1001):
if is_perfect(i):
print(i)
```
输出结果为:
```
6
28
496
```
相关问题
输出1000以内所有完数
以下是输出1000以内所有完数的C语言代码:
```c
#include <stdio.h>
int main() {
int i, j, sum;
printf("1000以内的所有完数:");
for (i = 1; i <= 1000; i++) {
sum = 0;
for (j = 1; j < i; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
输出结果为:1000以内的所有完数:6 28 496。
完数是指一个数恰好等于它的因子之和的数,例如6=1+2+3。以上代码使用两个for循环,分别遍历1到1000的所有数,并计算每个数的因子之和。如果因子之和等于该数本身,则输出该数。
写一个Java代码,输出1000以内的所有完数
好的,下面是Java代码:
public class PerfectNumber {
public static void main(String[] args) {
for(int i = 2; i <= 1000; i++) {
int sum = 1;
for(int j = 2; j <= Math.sqrt(i); j++) {
if(i % j == 0) {
sum += j;
if(i / j != j) {
sum += i / j;
}
}
}
if(sum == i) {
System.out.println(i + " is a perfect number.");
}
}
}
}
运行该程序将输出1000以内的所有完数。
阅读全文