一解:

#include <iostream>
using namespace std;
int j(int a){
    int h;
    h=0;
    for(int g=1;g!=a;g++)
        if(a%(g)==0)
            h+=g;
    if(h==a)
        return true;
    else
        return false;
	}
int main() {
	int n;
	cin>>n;
    for(int i=2;i<n;i++)
        if(j(i))
            cout<<i<<endl;
	return 0;
}//By 10082009

二解:

#include<iostream>
using namespace std;
int wqs(int);
int main(){
	int n;
	cin>>n;
	for(int i=2;i<=n;i++){
		if(wqs(i)==1){
			cout<<i<<endl;
		}
	}
	return 0;
}
int wqs(int x){
	int ys[x];
	int num=0;
	int sum=0;
	for(int i=1;i<x;i++){
		if(x%i==0){
			ys[num]=i;
			num+=1;
		}
	}
	for(int i=0;i<num;i++){
		sum+=ys[i];
	}
	if(x==sum){
		return 1;
	}
	else{
		return 2;
	}
}//By Gax

发表评论

邮箱地址不会被公开。