#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;}}
}
}
}