其他分享
首页 > 其他分享> > 完美数 : 简单数论模拟题

完美数 : 简单数论模拟题

作者:互联网

对于一个 正整数,如果它和除了它自身以外的所有 「正因子」 之和相等,我们称它为 「完美数」。

给定一个 整数 n, 如果是完美数,返回 true,否则返回 false

示例 1:

输入:num = 28

输出:true

解释:28 = 1 + 2 + 4 + 7 + 14
1, 2, 4, 7, 和 14 是 28 的所有正因子。

示例 2:

输入:num = 6

输出:true

示例 3:

输入:num = 496

输出:true

示例 4:

输入:num = 8128

输出:true

示例 5:

输入:num = 2

输出:false

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
    int num,sum=0,i,f=0;
    scanf("%d",&num);
    for(i=1;i<num;i++){
          if(num%i==0){
              sum+=i;
        }
    }
    if(sum==num){
        f=1;
    }else{
        f=0;
    }
    if(f){
        printf("true\n");
        printf("%d = 1 ",num);
        for(i=2;i<num;i++){
            if(num%i==0){
               printf("+ %d ",i);  
            }
        }
    }else{
        printf("false");
    }                                                                                                                                                                                                                               
  return 0;
}

 

 

标签:示例,数论,28,模拟题,完美,int,num,true,输入
来源: https://www.cnblogs.com/8023yyl/p/15758398.html