用C语言函数判断是否是完数
编写两个函数:函数factor(n)用来判断n是否为完数,函数prifac(n)用来显示完数n的所有因子,在主函数中调用这两个函数,显示1~30000间的所有完数。。。急...
编写两个函数:函数factor(n)用来判断n是否为完数,函数prifac(n)用来显示完数n的所有因子,在主函数中调用这两个函数,显示1~30000间的所有完数。。。
急需,,,。。谢高手指导。。。。。 展开
急需,,,。。谢高手指导。。。。。 展开
4个回答
展开全部
#include<stdio.h>
void iswanshu(int x);
void main()
{
int a;
printf("判断是否是完数:\n请输入一个整数:");
scanf("%d",&a);
iswanshu(a);//调用下面的函数
}
//定义一个判断是否是完数的函数
void iswanshu(int x)
{
int i,k;
for(i=1;i<x;i++)
{
if (x%i=0) k=k+i;//如果被判断的那个数整除i余数为0则累加到k
}
//如果k等于x那输出的数就是完数
if(k=x)
{
printf("%d是完数\n",x);
printf("%d=1",x);
for(i=2;i<x;i++)
{
if (x%i=0) printf("+%d",i);
}
printf("\n");
}
else
printf("%d不是完数!",x);
}
void iswanshu(int x);
void main()
{
int a;
printf("判断是否是完数:\n请输入一个整数:");
scanf("%d",&a);
iswanshu(a);//调用下面的函数
}
//定义一个判断是否是完数的函数
void iswanshu(int x)
{
int i,k;
for(i=1;i<x;i++)
{
if (x%i=0) k=k+i;//如果被判断的那个数整除i余数为0则累加到k
}
//如果k等于x那输出的数就是完数
if(k=x)
{
printf("%d是完数\n",x);
printf("%d=1",x);
for(i=2;i<x;i++)
{
if (x%i=0) printf("+%d",i);
}
printf("\n");
}
else
printf("%d不是完数!",x);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我给你写了一个:累死了
#include <iostream.h>
void main()
{
int i,j,n=0;
for(i=1;i<=30000;i++)
{ n=0;
for(j=1;j<i;j++)
if(i%j==0)
n+=j;
if(n==i)
cout<<i<<"是完数"<<endl;}
}
#include <iostream.h>
void main()
{
int i,j,n=0;
for(i=1;i<=30000;i++)
{ n=0;
for(j=1;j<i;j++)
if(i%j==0)
n+=j;
if(n==i)
cout<<i<<"是完数"<<endl;}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用的是c++,c改下就行了
#include<iostream>
using namespace std;
int factor(int n)
{
int i,sum=0;
for(i=1;i<n/2+1;i++)
{
if(n%i==0)
sum+=i;
}
if(sum==n)
return 1;
else
return 0;
}
void prifac(int n)
{
int i;
cout<<n<<"因子:";
for(i=1;i<n/2+1;i++)
{
if(n%i==0)
cout<<i<<' ';
}
}
void main()
{
int n;
for(n=1;n<=30000;n++)
{
if(factor(n))
{
cout<<n<<endl;
prifac(n);
}
}
}
#include<iostream>
using namespace std;
int factor(int n)
{
int i,sum=0;
for(i=1;i<n/2+1;i++)
{
if(n%i==0)
sum+=i;
}
if(sum==n)
return 1;
else
return 0;
}
void prifac(int n)
{
int i;
cout<<n<<"因子:";
for(i=1;i<n/2+1;i++)
{
if(n%i==0)
cout<<i<<' ';
}
}
void main()
{
int n;
for(n=1;n<=30000;n++)
{
if(factor(n))
{
cout<<n<<endl;
prifac(n);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询