![](https://csdnimg.cn/release/download_crawler_static/41364756/bg7.jpg)
for(int m=101; m<1000; m++) {
b3 = m / 100;
b2 = m % 100 / 10;
b1 = m % 10;
if((b3*b3*b3 + b2*b2*b2 + b1*b1*b1) == m) {
System.out.println(m+" 是一个水仙花数 "); }
}}}
【程序 4】
题目:将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5 。
程序分析:对 n 进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成:
(1)如果这个质数恰等于 n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果 n <> k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商 ,作为新的正整数
你 n,重复执行第一步。
(3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值 ,重复执行第一步。
import java.util.*;
public class lianxi04{
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print( " 请键入一个正整数 : ");
int n = s.nextInt();
int k=2;
System.out.print(n + "=" );
while(k <= n) {
if(k == n) {System.out.println(n);break;}
else if( n % k == 0) {System.out.print(k + "*");n = n / k; }
else k++;
}
} }
【程序 5】
题目:利用条件运算符的嵌套来完成此题:学习成绩 > =90 分的同学用 A 表示, 60-89 分之
间的用 B 表示, 60 分以下的用 C 表示。
import java.util.*;
public class lianxi05 {
public static void main(String[] args) {
int x;
char grade;
Scanner s = new Scanner(System.in);
System.out.print( " 请输入一个成绩 : ");
x = s.nextInt();
grade = x >= 90 ? 'A'
: x >= 60 ? 'B'
:'C';
System.out.println(" 等级为: "+grade);
}}