(Relax 1.2)POJ 1528 Perfection(求一个数各个因子之和)

2014-11-24 02:30:40 · 作者: · 浏览: 7
 
/* 
 * POJ_1528.cpp 
 * 
 *  Created on: 2013年11月19日 
 *      Author: Administrator 
 */  
  
#include   
#include   
  
using namespace std;  
  
int main(){  
    int n;  
  
    printf("PERFECTION OUTPUT\n");  
    while(scanf("%d",&n)!=EOF){  
        if(n == 0){  
            printf("END OF OUTPUT\n");  
            break;;  
        }  
  
        if(n == 1){  
            printf("%5d  DEFICIENT\n",n);  
            continue;  
        }  
  
        int i;  
        int sum = 0;  
        for(i = 1 ; i < n ; ++i){//求一个数的各个因子之和  
            if(n%i == 0){  
                sum += i;  
            }  
        }  
  
        if(n < sum){  
            printf("%5d  ABUNDANT\n",n);  
        }else if(n == sum){  
            printf("%5d  PERFECT\n",n);  
        }else if(n >
sum){ printf("%5d DEFICIENT\n",n);//***%5d: 输出的数字占五格,向右对齐 } } return 0; }