文章目录
- 前言
-
- 一、用 while 循环,计算 1~200 之间所有 3 的倍数之和。
- 二、编写程序,输出 200~500 之间的所有素数。
- 三、编程求 1~10000 之间的所有“完全数”,完全数是该数的所有因子之和等于该数的数。例如,6 的因子有 1、2、3,且 6=1+2+3,所以 6 是完全数。
- 四、一个整数的各位数字之和能被 9 整除,则该数也能被 9 整除。编程验证给定的整数能否被 9 整除。
- 五、水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)。编程求出所有三位的水仙花数。
- 六、将一个正整数分解质因数。例如:输入 90,打印出 90=2 *3 *3 *5。
- 七、验证“鬼谷猜想”:对任意自然数,若是奇数,就对它乘以 3 再加 1;若是偶数,就对它除以 2,这样得到一个新数,再按上述计算规则进行计算,一直进行下去,最终必然得到 1。
- 总结
前言
今天继续开始编写一些基础的Java编程题,不过今天主要做的还是关于数的编程题,什么求因数,求方程解,找出特殊数(完全数,质因数)等。
如果写的有什么错误,欢迎大家指点与讨论。
一、用 while 循环,计算 1~200 之间所有 3 的倍数之和。
因为这道题比较简单,我就多写了一些其他的方法。
代码如下:
public class Homework09 {
public static void main(String[] args){
int sum = 0;
ifCircle(sum);
whileCircle(sum);
doWhileCircle(sum);
forCircle(sum);
}
//if不是循环语句,会直接输出sum的初始值0
static void ifCircle(int sum){
int i = 1;
if(i <= 200){
if(i % 3 ==0){
sum+=i;
}
i++;
}
System.out.println("用if循环计算1~200之间所有3的倍数之和为:"+sum);
}
//while循环,先判断循环条件,再执行语句
static void whileCircle(int sum){
int i =1;
while(i <= 200){
if(i % 3 == 0){
sum+=i;
}
i++;
}
System.out.println("用while循环计算1~200之间所有3的倍数之和为:"+sum);
}
//do...while是先执行语句,再判断循环条件,要不要循环。
static void doWhileCircle(int sum){
int i = 1;
do {
if (i % 3 == 0){
sum+=i;
}
i++;
}while (i <= 200);
System.out.println("用do...while循环计算1~200之间所有3的倍数之和为:"+sum);
}
//for循环,先初始化,再判断条件,再执行语句,最后执行操作表达式i++
static void forCircle(int sum){
for(int i = 1;i <= 200;i++){
if(i % 3 ==