注册 登录
编程论坛 C语言论坛

C语言-求完美数

小白级的小黑 发布于 2022-11-07 07:18, 966 次点击
程序代码:

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

int main()
{
    int i, j, k;
    int upper;
   
    printf("请确定上限:");
    scanf("%d", &upper);
   
    for( i = 2; i <= upper; i++ )
    {
        int sum = 0;
        
        for( j = 1; j < i; j++ )
        {
            if( i % j == 0 )
            { sum += j;}
        }
        
        if( sum == i )
        {
            printf("%d的完美数是:", i);
               
            for( k = 1; k < i; k++ )
            {
                    if( i % k == 0 )
                {
                    printf("%d ", k);
                }
            }
            printf("\n");
        }
    }
    system("pause");
    return 0;
}
2 回复
#2
不会游泳的虾2022-11-07 22:19
代码完美运行输出完美数,上限 <= 10000。
#3
小白级的小黑2022-11-08 07:32
回复 2楼 不会游泳的虾
我写出来的目的是列出1000以内的完美数。
我是在网站上自学的,刚入门。
我想问一下,学C语言,你有什么心得吗?

[此贴子已经被作者于2022-11-8 07:43编辑过]

1