搜索

...条件:该数等于它所有因子之和。如:6=1+2+3,28=1+2+4

发布网友 发布时间:2024-10-23 10:00

我来回答

4个回答

热心网友 时间:2024-10-25 18:26

一个数,如果恰好等于它的因子之和,这个数就称为“完数”。
例如 6 的因子为 1、2、3,而 6 = 1 + 2 + 3,因此 6 就是“完数”。

用 C 语言编程求完数,还是很容易的。

可见:http://zhidao.baidu.com/question/420702519.html

//编程找出1000以内的所有完数:

#include
void main()
{
int x, i, sum;
x = 1;
while(x <= 1000) { //x要从1到1000循环.
sum = 0; //每算一个新的x时,sum要清0
for(i = 1; i < x; i++) if(x % i == 0) sum += i; //如果i是x的因子,sum加上i
if(x == sum) printf("%d\n", x); //如果因子和等于本身.
x++;
}
}

热心网友 时间:2024-10-25 18:28

#include<stdio.h>
int main()
{
int m,n,i,flag = 0;
scanf("%d %d",&m,&n);
for(i = m; i <= n; i++)
{
int j;
int sum = 0;
for(j = 1; j < i; j++)
{
if(i % j == 0)
sum += j;
}
if(sum == i)
{
printf("%d ",i);
flag++;
}
printf("\n");
}
if(flag==0)
printf("no");
return 0;
}

修改之后的代码如上 (望赏)

热心网友 时间:2024-10-25 18:21

#包括
的main()

{

INT A,N;

(N = 1,N <= 1000,N +) {

诠释x = 0;

(= 1; <N,A + +)

{

(N%== 0)X + =;

}

如果(== X)COUT首页<<“\ N”的;

}

}
完全原创,啊,我看百度知道比这更好的,不知道若干倍的麻烦,这是我的功课,只是做了一点

热心网友 时间:2024-10-25 18:24

#include<stdio.h>main()
{
int m,n,i,j,sum,flag=0;
scanf("%d %d",&m,&n);
if(0<=m&&n<=10000&&m<=n)
{
for(i=m;i<=n;i++)
{
sum=0;
for(j=1;j<i/2+1;j++)
{
if(i%j==0) sum=sum+j;
}
if(sum==i)
{
printf("%d ",i);
flag++;
}

}}
if(flag==0) printf("no\n");
}

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top