首页 > d010:盈数、亏数和完全数

d010:盈数、亏数和完全数

题目:

对一个正整数N而言,将它除了本身以外所有的因子加起来的总和为S,如果S>N,则N为盈数,如果S12,因此12为盈数。至于6的因子有1、2、3、6,1+2+3=6,所以6是完全数(它也是第一个完全数)。

现在请你写一个程序,输入一个正整数N,然后印出它是盈数、亏数还是完全数。

所以,这题的思路是:定义s=0.

把这个数和所有小于它的数mod,是0的话s=s+i.

代码:

 1 #include 
 2 using namespace std;
 3 int main(){
 4     int a,i=1;
 5     while(cin>>a){
 6         int s=0;
 7         for(i=1;i){
 8             if(a%i==0) s+=i;
 9         }
10         if(s"虧數"<<endl;
11         if(s==i) cout<<"完全數"<<endl;
12         if(s>i) cout<<"盈數"<<endl;
13     }
14     return 0;
15 }

 

转载于:https://www.cnblogs.com/tushukai/p/7276987.html

更多相关: