hdu 1323

此题的思路就是:求出给出的数n的除本身以外的约数,然后加起来的sum

if n>sum    DEFICIENT

if n<sum   ABUNDANT

if n==sum    prefect

当输入0的时候输出“END OF OUTPUT”同时程序结束

这个题目还有一个需要注意的地方呢就是在输出的时候格式要注意,数字所占的长度为5,所以要用setw控制,并且头文件是#include<iomanip>

代码如下
 1 #include <iostream>

 2 #include<iomanip>

 3 using namespace std;

 4 int main(int argc, char *argv[])

 5 {

 6     int n,sum; 

 7         cout<<"PERFECTION OUTPUT"<<endl;

 8     while(cin>>n){

 9         sum=0;

10     

11         if(n==0) {cout<<"END OF OUTPUT"<<endl; break;}

12         else{

13             for(int i=1;i<=n/2;i++)

14       {

15       if(n%i==0)

16        sum+=i;

17        }

18        

19     if(n<sum) cout<<""<<setw(5)<<n<<"  "<<"ABUNDANT"<<endl;

20      else if(n==sum) cout<<""<<setw(5)<<n<<"  "<<"PERFECT"<<endl;

21       else cout<<""<<setw(5)<<n<<"  "<<"DEFICIENT"<<endl;  

22         }

23      

24     }

25     

26     return 0;

27 }

 

你可能感兴趣的:(HDU)