首页 > 其他分享 >晚数

晚数

时间:2023-05-19 23:14:52浏览次数:15  
标签:int 晚数 因子 完数 取值 范围

一、问题描述
求某一范围内完数的个数。
如果一个数等于它的因子之和,则称该数为“完数”(或“完全数”)。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。
二、问题分析
根据完数的定义,解决本题的关键是计算出所选取的整数i(i的取值范围不固定)的因子(因子就是所有可以整除这个数的数),将各因子累加到变量s(记录所有因子之和),若s等于i,则可确认i为完数,反之则不是完数。

三、设计思路

1定义i,j,s,n变量,其中n为取值范围,i<=n,

2.当i<=n是,设s=0,然后从j=1开始循环,j<=i,如果i%j=0,则s+=j

3.若s=i,则输出i值,i继续递增,寻找下一个完数,直至i<=n条件不成立为止

四、程序流程图

五、代码实现

#include<stdio.h>
int main()
{
int i,j,s,n;
printf("请输入所选范围的上限:“);
scanf("%d:,&n);
for(i=2;i<+n;i++)
{
s=0;
for(j-0;j<=i;j++)
{
if(i%j==0)
s+=j;
}
if(s==i)
printf(:It is a perfect number:%d.\n",i)
}
}

  

标签:int,晚数,因子,完数,取值,范围
From: https://www.cnblogs.com/tianpeisen/p/17416526.html

相关文章