題目內(nèi)容:
一個(gè)正整數(shù)的因子是所有可以整除它的正整數(shù)。而一個(gè)數(shù)如果恰好等于除它本身外的因子之和稚矿,這個(gè)數(shù)就稱為完數(shù)庸诱。例如6=1+2+3(6的因子是1,2,3)晤揣。
現(xiàn)在,你要寫一個(gè)程序聚谁,讀入兩個(gè)正整數(shù)n和m(1<=n<=m<=1000)滞诺,輸出[n,m]范圍內(nèi)所有的完數(shù)。
提示:可以寫一個(gè)函數(shù)來判斷某個(gè)數(shù)是否是完數(shù)习霹。
輸入格式:
兩個(gè)正整數(shù),以空格分隔阎曹。
輸出格式:
其間所有的完數(shù),以空格分隔处嫌,最后一個(gè)數(shù)字后面沒有空格斟湃。如果沒有,則輸出NIL(三個(gè)大寫字母)凝赛。
輸入樣例:
1 10
輸出樣例:
6
時(shí)間限制:500ms內(nèi)存限制:32000kb
import java.util.Scanner;
public class Main {
public static int perfect(int a)
{
int sum=0;
for(int i=1;i<a;i++)
{
if(a%i==0)
{
sum+=i;
}
}
if(sum==a)
{
return 1;
}
else
{
return 0;
}
}
public static void main(String[] args)
{
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int m=in.nextInt();
int count=0;
for(int i=n;i<=m;i++)
{
if(perfect(i)==1)
{
if(count!=0)
{
System.out.print(" ");
}
System.out.print(i);
count++;
}
}
if(count==0)
{
System.out.print("NIL");
}
}
}