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

/*
 * POJ_1528.cpp
 *
 *  Created on: 2013年11月19日
 *      Author: Administrator
 */

#include <iostream>
#include <cstdio>

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;
}


你可能感兴趣的:((Relax 1.2)POJ 1528 Perfection(求一个数各个因子之和))