我不是明星秦沛:大家帮忙看一下这个程序怎么编

来源:百度文库 编辑:高校问答 时间:2024/04/29 22:10:21
一个数如果恰好等于它的因子之和,这个数就称为”完数”.例如6的因子为1.2.3,而6=1+2+3,因此6是完数’编程找出1000以内的所有完数,并按以下格式输出其因子:
6 its factors are 1,2,3
这个程序我觉的最重要的是输出的格式,其他的都不是很复杂,请按格式编写

int a=2;
int sum =0;
while(a<1000){
for (int i =1;i<a;i++){
if (a mod i ==0){
sum = sum+i;
}
}
if (sum ==a){
System.out.print(a+"its factors are ");
for (i =2;i<a;i++){
if (a mod i ==0){
System.out.prin(“1”);
System.out.prin(“,”+i);
}
}
System.out.print("\n");
}

sum =0;
}

不好意思啊 楼主 样子有点难看 ~~~~厕所上写的

有个地方错了 不是 mod 是% 二楼说的 不敢贪天功
不过二楼 俺看不懂你的冬冬额 你的程序会出来
“6是完数 它的因子是 1”“6是完数 它的因子是 2”“6是完数 它的因子是 3” ......

#include"stdio.h"
voi main()
{
int m,s,i;
for(m=2;m<1000;m++)
{
s=0;
for(i=1;i<m;i++)
if((m%i)==0)s=s+i;
{
printf("%d是一个"完数",它的因子是",m);
for(i=1;i<m;i++)
printf("\n");
}
}
}
呵呵 我这个点有难自己看看就会拉

#include <iostream.h>

void main()
{
for(int i=1; i<1000; i++){
int sum=0;
for(int j=1; j<=i/2; j++)
if(i%j==0)
sum+=j;
if(sum==i)
cout <<i<<"是完数.\n";
}
}