任务详细
帖子底部有文件可以直接下载提交云班课
输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。
例如: 153 =1*1*1 + 3*3*3 + 5*5*5
提示:3位数,也就是在100开始到999之间,存在多个水仙花数,只要是,就打印出来
不废话了直接上代码
import java.util.Scanner;
public class Longxi12 {
//第一部分
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数:");
int m = sc.nextInt();
System.out.println("请输入第二个数:");
int n = sc.nextInt();
int min = m>n?n:m;
int a = 1;
for (int i = 1;i<=min;i++){
if (m%i==0 && n%i==0){
a = i;
}
}
System.out.println("最大公约数是:"+a);
int i = 1;
while (i<=m*n){
if (i%m==0 && i%n==0){
a= i;
break;
}
i++;
}
System.out.println("最小公倍数是:"+a);
//第二部分
int positiveNumber = 0;//统计正数的个数
int negativeNumber = 0;//统计负数的个数
//无限循环for(;;) 、while(true)
while (true){
System.out.println("请输入一个整数:");
int z = sc.nextInt();
if(z>0) {
positiveNumber++;
} else if(z<0) {
negativeNumber++;
} else {
break;//此时会退出循环,执行下面的输出打印语句
}
}
System.out.println("正数的个数为:"+positiveNumber);
System.out.println("负数的个数为:"+ negativeNumber);
//第三部分
for(int bl=100; bl<=999; bl++) {
int aa = bl/100; //百位数
int b = bl%100/10; //十位数
int c = bl%10; //个位数
if(aa*aa*aa + b*b*b + c*c*c == bl) {
System.out.println(bl + "是水仙花数");
}
}
}
}
运行效果如下:
Java文件(zip压缩需要解压):
e2207bc676192006.zip
zip文件
826B
没有回复内容