Problem1809--【高级语言程序设计】5.6 完全数判断

1809: 【高级语言程序设计】5.6 完全数判断

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 101  Solved: 62
[Submit] [Status] [Web Board] [Creator:]

Description

请编写一个程序,判断一个整数 m 是否是完全数。

Input

输入一个整数。

Output

是否是完全数,是则输出Yes!,否则输出No!

Sample Input Copy

6

Sample Output Copy

Yes!

HINT

完全数也称完美数或完数,它是指这样的一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身,即m的所有小于m的不同因子(包括1)加起来恰好等于m本身。注意:1没有真因子,所以1不是完全数。例如,因为6 = 1 + 2 + 3,所以6是一个完全数。

  1. 函数的定义和调用:了解如何定义函数以及如何调用函数。
  2. 数学基础:了解完全数的概念和性质。
  3. 循环和条件判断:使用循环语句和条件判断语句来判断一个数是否是完全数。
  4. 数学运算符:使用取余运算符(%)来判断一个数是否是另一个数的因子。
    #include <stdio.h>
    int IsPerfect(int x);
    int main(void)
    {
        int m;
        scanf("%d", &m);
        if (IsPerfect(m))   //若m是完全数
        {
          printf("Yes!\n");
      }
        else                  //若m不是完全数
        {
            printf("No!\n");
        }
        return 0;
    }
    //函数功能:判断完全数,若函数返回0,则代表不是完全数,若返回1,则代表是完全数
    int IsPerfect(int x)
    {
        //=======begin=======
       


       
       
        //========end========
    }

Source/Category