2011年4月24日 星期日

分享

高中生程式解題系統 d010: 盈數、虧數和完全數


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


int main(void) 
{
    
    int input,sum,index;
    int *temp;
    int i;

    while(scanf("%d",&input)!=EOF)
    {
        sum = index = 0;
        temp = (int *) malloc(input*sizeof(int));

        for(i=1;i<=input/2;i++)
            if(input % i == 0)
            {
                temp[index] = i;
                index++;
            }

        for(i=0;i<index;i++)
            sum += temp[i];

        if(sum>input)
            printf("盈數\n");
        else if(sum == input)
            printf("完全數\n");
        else
            printf("虧數\n");

        free(temp);
    }

    return 0;
}

沒有留言:

張貼留言