
请教一个C语言程序,急急急!
求出1到1000内所有的完数,并在最后显示出该数=a+b+c的形式,例如:6是完数,显示出6=1+2+3,各位高手帮下忙,高分求!!我还要求最后要显示出来结果~~!...
求出1到1000内所有的完数,并在最后显示出该数=a+b+c的形式,例如:6是完数,显示出6=1+2+3,各位高手帮下忙,高分求!!
我还要求最后要显示出来结果~~! 展开
我还要求最后要显示出来结果~~! 展开
2008-07-04
展开全部
//---------------------------------------------------------------------------
#include <stdio.h>
#define WS(X) ws((X),0,1)
int ws(int a,int b,int c)
{
int d;
if (a>c) {
if (a%c==0)
b+=c;
d=ws(a,b,c+1);
}
else if (c==a) {
if (b==a) {
return 1;
}
else return 0;
}
if (c==a-1&&d) {
printf("%d is Prefect number:\t",a);
}
if (d&&(a%c==0)) {
printf("%d ",c);
}
else if (!d) return 0;
if (c==1)
{putchar('\n');
return d;}
}
int main(void)
{
int i;
for (i=1; i<=1000; i++)
WS(i);
return 0;
}
//---------------------------------------------------------------------------
显示结果:
6 is Prefect number: 3 2 1
28 is Prefect number: 14 7 4 2 1
496 is Prefect number: 248 124 62 31 16 8 4 2 1
#include <stdio.h>
#define WS(X) ws((X),0,1)
int ws(int a,int b,int c)
{
int d;
if (a>c) {
if (a%c==0)
b+=c;
d=ws(a,b,c+1);
}
else if (c==a) {
if (b==a) {
return 1;
}
else return 0;
}
if (c==a-1&&d) {
printf("%d is Prefect number:\t",a);
}
if (d&&(a%c==0)) {
printf("%d ",c);
}
else if (!d) return 0;
if (c==1)
{putchar('\n');
return d;}
}
int main(void)
{
int i;
for (i=1; i<=1000; i++)
WS(i);
return 0;
}
//---------------------------------------------------------------------------
显示结果:
6 is Prefect number: 3 2 1
28 is Prefect number: 14 7 4 2 1
496 is Prefect number: 248 124 62 31 16 8 4 2 1
展开全部
#include <Stdio.h>
void main()
{
int i,n,s;
for(i=1;i<=1000;i++)
{
s=0;
for(n=1;n<i;n++)
{
if(i%n==0)
{
s=s+n;
}
}
if(s==i)
{
printf("%d=",s);
for(n=1;n<i;n++)
if(i%n==0)
{
printf("%d+",n);
}
printf("\b \n");
}
}
}
void main()
{
int i,n,s;
for(i=1;i<=1000;i++)
{
s=0;
for(n=1;n<i;n++)
{
if(i%n==0)
{
s=s+n;
}
}
if(s==i)
{
printf("%d=",s);
for(n=1;n<i;n++)
if(i%n==0)
{
printf("%d+",n);
}
printf("\b \n");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
# include<stdio.h>
void main(){
int i,j,k;
int sum;
for(i=2;i<=1000;i++) {
sum=0;
for(j=1;j<i;j++)
if(i%j==0)
sum+=j;
if(sum==i){
printf("%d=",sum);
for(k=1;k<sum;k++)
if(sum%k==0)
printf("%d+",k);
printf("\b \n");
}
}
}
void main(){
int i,j,k;
int sum;
for(i=2;i<=1000;i++) {
sum=0;
for(j=1;j<i;j++)
if(i%j==0)
sum+=j;
if(sum==i){
printf("%d=",sum);
for(k=1;k<sum;k++)
if(sum%k==0)
printf("%d+",k);
printf("\b \n");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <Stdio.h>
void main()
{
int m,i,s;
for(m=1;m<=1000;m++)
{
s=0;
for(i=1;i<m;i++)
if(m%i==0)
s=s+i;
if(s==m)
printf("%d,",s);
}
}
void main()
{
int m,i,s;
for(m=1;m<=1000;m++)
{
s=0;
for(i=1;i<m;i++)
if(m%i==0)
s=s+i;
if(s==m)
printf("%d,",s);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
13、
void main()
{
int i,j;
int s = 0;
for(i =0; i <= 999; i++)
{
s = 0;
for(j=1; j < i-1 ; j++)
{
if( i%j == 0 ) s = s + j;
}
if(s == i)printf("%5d",i);
}
}
void main()
{
int i,j;
int s = 0;
for(i =0; i <= 999; i++)
{
s = 0;
for(j=1; j < i-1 ; j++)
{
if( i%j == 0 ) s = s + j;
}
if(s == i)printf("%5d",i);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询