题目背景
所谓完数,就是其因子(不含本身)之和与本身相等的数。举个例子6=1+2+3,所以6是个完数。
题目描述
输出1000内的完数
输入格式
无
输出格式
输出共一行,输出1000内所有的完数。
输入输出样例
无
#include<iostream>
using namespace std;
int main(){
for(int i=1;i<= 1000;i++){
int sum = 0;
for(int j=1;j < i;j++){
if(i % j == 0){
sum += j;
}
}
if(i == sum){
cout<<i<<" ";
}
sum = 0;
}
return 0;
}
Java题解:
public class Main {
public static void main(String[] args) {
for(int i=1;i<=1000;i++){
if(fun(i))
System.out.print(i + " ");
}
}
static boolean fun(int n){
int m = 0;
for(int i=1;i<n;i++){
if(n % i == 0)
m += i;
}
return m == n;
}
}