天天看點

找出所有完數

題目描述

  一個數如果恰好等于不包含它本身所有因子之和,這個數就稱為"完數"。例如,6的因子為1、2、3,而6=1+2+3,

是以6是"完數"。

  程式設計式找出N之内的所有完數。

#include<iostream>
using namespace std;

int main(){
	int m;
	cin>>m;
	for(int n=1;n<m;n++){
		int sum=0,j=0,a[100]={0},num=1;
		for(int i=1;i<n;i++){
			if(n%i==0){
				a[j++]=i;num++;
				sum=sum+i;
			}
		}
		if(n==sum){
			cout<<n<<" "<<"its factors are"<<" ";
			for(j=0;j<num;j++){
				if(a[j]!=0)
					cout<<a[j]<<" ";
				else
					cout<<endl;
			}
		}
	}
	return 0;
}
           

繼續閱讀