码迷,mamicode.com
首页 > 其他好文 > 详细

d010:盈数、亏数和完全数

时间:2017-08-02 23:36:11      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:个数   ace   代码   using   namespace   因子   cin   number   cout   

题目:

对一个正整数N而言,将它除了本身以外所有的因子加起来的总和为S,如果S>N,则N为盈数,如果S<N,则N为亏数,而如果S=N,则N为完全数(Perfect Number)。例如10的因子有1、2、5、10,1 +2+5=8<10,因此10为亏数,而12的因子有1、2、3、4、6、12,1+2+3+4+6=16>12,因此12为盈数。至于6的因子有1、2、3、6,1+2+3=6,所以6是完全数(它也是第一个完全数)。
现在请你写一个程序,输入一个正整数N,然后印出它是盈数、亏数还是完全数。

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

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

代码:

 1 #include <iostream>
 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<a;i++){
 8             if(a%i==0) s+=i;
 9         }
10         if(s<i) cout<<"虧數"<<endl;
11         if(s==i) cout<<"完全數"<<endl;
12         if(s>i) cout<<"盈數"<<endl;
13     }
14     return 0;
15 }

 

d010:盈数、亏数和完全数

标签:个数   ace   代码   using   namespace   因子   cin   number   cout   

原文地址:http://www.cnblogs.com/tushukai/p/7276987.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!