一个数如果恰好等于它的因子之和,这个数就称为完数编程找出1000以内的所有完数,并按下面格式输出其因子
一个数如果恰好等于它的因子之和,这个数就称为完数编程找出1000以内的所有完数,并按下面格式输出其因子。6itsfactorsare1,2,3#include<stdio...
一个数如果恰好等于它的因子之和,这个数就称为完数编程找出1000以内的所有完数,并按下面格式输出其因子。6 its factors are 1,2,3
#include<stdio.h>
#include<math.h>
void main()
{
int x,y,i,sum=0,h;
int a[h];
for(i=1;i<=1000;i++)
{
for(x=1,h=1;x<=i;x++)
{
y=i%x;
if(y==0)
{
a[h]=x;
sum=sum+a[h];
h++;
}
else
continue;
}
if(sum==i)
printf("%d its factors are %d",i,a[h]);
else
printf("%d is not a WS",i);
}
}
} 展开
#include<stdio.h>
#include<math.h>
void main()
{
int x,y,i,sum=0,h;
int a[h];
for(i=1;i<=1000;i++)
{
for(x=1,h=1;x<=i;x++)
{
y=i%x;
if(y==0)
{
a[h]=x;
sum=sum+a[h];
h++;
}
else
continue;
}
if(sum==i)
printf("%d its factors are %d",i,a[h]);
else
printf("%d is not a WS",i);
}
}
} 展开
1个回答
展开全部
#include<stdio.h>
#include<stdlib.h>
void main(){
int x,y,i,sum,h;
int *a;
printf("1000以内的所有完整数:\n");
for(i=1;i<=1000;i++) {
sum = 1;
a = (int *)malloc (i*sizeof(int));
a[0]=1;
for(x=2,h=1;x<i;x++){
y=i%x;
if(y==0){
a[h] = x;
sum+=x;
h++;
}
}
if(sum==i) {
printf("%d its factors are ",i);
for(x=0;x<h-1;x++)
printf("%d,",a[x]);
printf("%d\n",a[x]);
}
free(a);
}
}
#include<stdlib.h>
void main(){
int x,y,i,sum,h;
int *a;
printf("1000以内的所有完整数:\n");
for(i=1;i<=1000;i++) {
sum = 1;
a = (int *)malloc (i*sizeof(int));
a[0]=1;
for(x=2,h=1;x<i;x++){
y=i%x;
if(y==0){
a[h] = x;
sum+=x;
h++;
}
}
if(sum==i) {
printf("%d its factors are ",i);
for(x=0;x<h-1;x++)
printf("%d,",a[x]);
printf("%d\n",a[x]);
}
free(a);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询