完美数字是数字;因子之和等于2 *数字。
算法在下面解释-
START Step 1: declare int variables and initialized result=0. Step 2: read number at runtime. Step 3: for loop i=1;i<=number;i++ Condition satisfies i. if(number%i==0) ii. result=result+i; Step 4: checking the sum of factors. i. if(result==2*number) ii. print perfect number iii. else print not perfect number STOP
以下是C程序,以查找给定的数字是否为完美数-
#include<stdio.h>
int main(){
int number,i,result=0;//声明变量并将结果初始化为0
printf("输入数字:");
scanf("%d",&number);
for(i=1;i<=number;i++){
if(number%i==0)
result=result+i;
}
if(result==2*number) //检查因子之和== 2 *数量
printf("perfect number");
else
printf("not perfect number");
}输出结果输出如下-
输入数字:28 perfect number 输入数字:46 not perfect number