首页 > 其他 > 详细

d010:盈数、亏数和完全数

时间:2017-08-02 22:49:52      阅读:137      评论:0      收藏:0      [点我收藏+]

题目:

对一个正整数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:盈数、亏数和完全数

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!