1、 一个数如果恰好等于其因子(除了本身以外的约数之和),该数就称为“完数”。编写一个 Java Application 程序,求出 1000 以内的所有完数。
public class homework11
{
public static void main(String[] args)
//输出1000以内的所有完数
{
int sum;
System.out.print( "**********1000以内的所有完数如下:");
System.out.println(); //换行
for(int i = 1; i <= 1000; i++)
{
sum=0;//初始化sum变量,并在每个i的for的循环后使sum值归零
for(int j = 1; j < i; j++){
if(i % j == 0) //取余数
sum = sum + j;//求i除了本身以外的所有约数之和
}
if(sum == i) //判断i是否为完数,即判断i是否等于除了本身以外的约数之和
System.out.println( "-~-~-~-~-~-~-~-~-~-~-~-~-~-~~~~~"+i + "是完数");
//输出完数
} //结束for循环
System.out.println(); //换行
} //结束main函数
}//结束class
运行结果:
D:/jdk/xi>javac homework11.java
D:/jdk/xi>java homework11
**********1000以内的所有完数如下:
-~-~-~-~-~-~-~-~-~-~-~-~-~-~~~~~6是完数
-~-~-~-~-~-~-~-~-~-~-~-~-~-~~~~~28是完数
-~-~-~-~-~-~-~-~-~-~-~-~-~-~~~~~496是完数
2、编写一个程序,把变量 n 的初始值设置为 1678,然后利用除法运算和取余运算把变量的每位数字都提出来并打印,输出结果为: n = 1678
public class homework12 {
// 显示指定数的每一位数字
private void show() {
int n = 1678; //变量 n 的初始值设置为 1678
int a,b,c,d; //声明变量
a = n%10; //取余得个位数字
b = (n/10)%10; //得十位数字
c = (n/100)%10; //得百位数字
d = n/1000; //得千位数字
//根据所得的每位数字,输出结果
System.out.print("************************************");
System.out.println();
System.out.print("n=" + n + " ,n的每位数字是:");
System.out.println();
System.out.println("``````````````````````"+d); //输出千位数字
System.out.println("``````````````````````"+c); //输出百位数字
System.out.println("``````````````````````"+b); //输出十位数字
System.out.println("``````````````````````"+a);//输出个位数字
System.out.print("************************************");
System.out.println();
}
public static void main(String[] args){
homework12 hw = new homework12(); //生成类实例
hw.show(); //调用show函数
}
}
运行结果:
D:/jdk/xi>javac homework12.java
D:/jdk/xi>java homework12
************************************
n=1678 ,n的每位数字是:
``````````````````````1
``````````````````````6
``````````````````````7
``````````````````````8
************************************
D:/jdk/xi>