求1到500以内所有的完数并输出。

如果一个数恰好等于除它本身外的所有因子之和,则这个数就称为完数。

例如:6的因子是1、2、3、,且6+1+2+3,所以6是完数。

cpp 复制代码
#include <stdio.h>
void main()
{
    int s,i,j;
    for(i=1;i<500;i++)
    {
       


        printf("%d ",i);
    }
}

在这个题目中,我们可以看到题目给了我们三个变量,但题目自己用了一个变量i,这个变量用来遍历1到499中的所有数字,所以我们可以用两个变量来完成这串代码。

由于我们要知道因子,而因子又是" i "当中众多里面的多个所以我们需要一个变量来遍历i当中的所有数字

在遍历之后,我们还要把当中的因子加起来等于" i "所以我们需要一个变量来把遍历后的因子相加

相加完之后,再用if把符合要求的数字打印出来就完成了!


在这个程序中,需要注意的是,题目给我们的s是没有初始化的,所以我们在进行第二个for循环之前,需要先把s赋值为零,也就是把s初始化,初始化后在我们进行第二个for循环结束后,s也会自动重置为零,以达到每次s都是从零开始累加的效果。

cpp 复制代码
#include <stdio.h>
void main()
{
    int s,i,j;
    for(i=1;i<500;i++)
    {
        s=0;
        for(j=1;j<i;j++)
        {
            if(i%j==0)
                s+=j;
        }
        if(s==i)
        printf("%d ",i);
    }
}
相关推荐
米芝鱼3 分钟前
Unity自定义按钮
算法·ui·unity·游戏引擎·编辑器扩展
野蛮人6号6 分钟前
力扣热题100道,内容和力扣官方稍有不同,记录了本人的一些独特的解法
算法·leetcode
米芝鱼6 分钟前
Unity自定义TextImage,鼠标悬浮显示信息
算法·ui·unity·编辑器·游戏引擎·图形渲染
Tisfy23 分钟前
LeetCode 1925.统计平方和三元组的数目:两层循环枚举
算法·leetcode·职场和发展
AI科技星24 分钟前
伟大的跨越:从超距作用到时空运动——牛顿与张祥前引力场方程的终极对比
开发语言·数据结构·经验分享·线性代数·算法
电摇小人32 分钟前
类欧几里得算法来了!!(C++版)
算法·类欧几里得
元亓亓亓33 分钟前
LeetCode热题100--155. 最小栈--中等
java·算法·leetcode
AI视觉网奇35 分钟前
标签拷贝 labelme json格式
算法·计算机视觉
高山上有一只小老虎38 分钟前
小红的双生串
java·算法
某林21241 分钟前
集成式人机交互与底层驱动系统设计说明书
人工智能·stm32·嵌入式硬件·算法·机器学习·人机交互