求1到500以内所有的完数并输出。
2023-12-25 09:55:45
如果一个数恰好等于除它本身外的所有因子之和,则这个数就称为完数。
例如:6的因子是1、2、3、,且6+1+2+3,所以6是完数。
#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都是从零开始累加的效果。
#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);
}
}
文章来源:https://blog.csdn.net/lzcandhyandcg/article/details/135190645
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!