C++编程,求1000以内的完数并每行按格式输出其因子:6=1+2+3

如题所述

第1个回答  2022-12-11

#include"stdafx.h"

#include<stdio.h>

int totalnum(int num)//返回所有约数的和

{

int sum=0;//记录所有约数的和

int i=0;

for(i=1;i<=num/2;i++)

{

if(num%i==0)

{

sum+=i;

}

}

return sum;

}

int main()

{

int i=0;

int j=0;

for(i=2;i<=1000;i++)

{

int k=totalnum(i);

if(i==k)

{

printf("%d\n",i);

}

}

return 0;

}

扩展资料:

其它方法:

public class wanshu{

public static void main(String[]args){

System.out.println("1000以内的素数有:");

for(int i=1;i<=10000;i++){

int sum=0;

for(int j=1;j<=i;j++){

if(i%j==0){

sum+=j;}

if(sum==i){

System.out.println(i);

break;}}

}

}

}

相似回答
大家正在搜