測驗達人

susan
博一上
54270次
司法特考錄..
高二下
53569次
魯筱筱
研二下
44648次
Cyril..
研二上
38321次
錄事考試
小六下
25910次

程式設計題庫

【非選題】四、請用C 語言設計一個函式int isPerfect(int x)。當isPerfect 回傳1 時,代表x 為「完 美數」,若回傳0,代表x 不是完美數。若x 是一個完美數,則x 的所有小於x 本 身的正因數加總,會等於x。舉例而言,令x=6,則所有小於x 的正因數有1,2 及 3。因為1+2+3=6,所以6 是完美數。(15 分)

#4206
編輯私有筆記
1F
Angus Yang 大二上 (2013/08/22 15:38):

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


int isPerfect(int x)
{
int cnt,cx,cb ;
   
cnt = x ;   

cx = 0 ;
cb = 1 ;
while(cb < cnt)
{
if(cnt%cb==0)
{
printf("cx = %d\n",cx) ;          
cx = cx + cb;
}

cb = cb + 1 ;
}

if(cnt==cb)
{
return(1);
}
else
{
return(0);
}

}

2F
Wen-Sen Cheng 國一下 (2013/12/18 22:26):
int isPerfect(int x)
{
     int sum=0,i;
     if(i=1;i<x;i++) //判斷1~(x-1)
     {
           if(x%i==0) //判斷i是否為x的因數
           {
                 sum=sum+i;
           }
     }
     if(sum==x) return(1) ; //如果和等於x 傳回1,否則傳回0
     else return(0);
}