網頁

2013年9月11日 星期三

c032. 00382 - Perfection、UVA 382

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int sum_divisor(int n){
    if(n==1) return 0 ;
    else{
        int sum = 1, i ;
        for(i=2 ; i<=sqrt(n) ; ++i){
            if(!(n%i)){
                if(i == n/i) sum += i ;
                else sum += i+n/i ;
            }
        }
        return sum ;
    }
}

int main(){
    int n ;
    int sum ;
    int i ;
    puts("PERFECTION OUTPUT") ;
    while(scanf("%d",&n)==1 && n){
        printf("%5d  ",n) ;
        sum = sum_divisor(n) ;
        if(sum < n) puts("DEFICIENT") ;
        else if(sum > n) puts("ABUNDANT") ;
        else puts("PERFECT") ;
    }
    puts("END OF OUTPUT") ;
    return 0;
}

沒有留言:

張貼留言