Java函数题目完数
题目内容:
一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。
现在,你要写一个程序,读入两个正整数n和m(1<=n
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
boolean flag = false;
for(int i = n;i <= m;i++ )
{
if(isWanshu(i))
{
if (flag == true)
{
System.out.print(" "+i);
}
else
{
System.out.print(i);
}
flag = true;
}
}
if (flag==false)
{
System.out.println();
}
}
public static boolean isWanshu(int n){
int sum = 0;
for(int i=1;i<n;i++)
{
if (n%i==0)
{
sum = sum + i;
}
}
if (sum==n)
{
return true;
}
else
{
return false;
}
}
}
这道题主要也是考察函数的用法,加了一个布尔变量用于判断是否是第一个(第一个数前面不加空格),总之要注意一下输出格式。