完數-week6-C語言習題集

happy_bigqiang發表於2016-07-22

完數(5分)
題目內容:
一個正整數的因子是所有可以整除它的正整數。而一個數如果恰好等於除它本身外的因子之和,這個數就稱為完數。例如6=1+2+3(6的因子是1,2,3)。

現在,你要寫一個程式,讀入兩個正整數n和m(1<=n

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

int isPerfectNumber(int number);
int main()
{
    int i,temp;
    int k,l;
    scanf("%d %d",&k,&l);
    for (i=k;i<l;i++){
        temp =isPerfectNumber(i);
        if (temp){
            printf("%d ",temp);
        }
    }
    return 0;
}

int isPerfectNumber(int number)
{
    int i;
    int sum=0;
    for(i=1;i<number;i++){
        if (number % i == 0){
            sum += i;
        }
    }
    if (sum == number){
        return number;
    }
    else {
        return 0;
    }
}

相關文章