- 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
实验源码:
package cn.java.day1;
/**
- Description:
- Date: 2019年9月15日 下午15:26:50
- @author dingP
- @version
@see
*/
public class One {
public static void main(String[] args) {
int count = 0;// 水仙花数个数计数器for (int num = 100; num < 1000; num++) { int g = num % 10;// 个位 int s = num / 10 % 10;// 十位 int b = num / 100;// 百位 if (g * g * g + s * s * s + b * b * b == num) { count++; System.out.print(num + " "); if (count % 5 == 4) System.out.println(); } }
}
}
实验结果:153 370 371 407
- 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
实验源码:
package cn.java.day1;
/**
- Description:
- Date: 2019年9月15日 下午15:30:10
- @author dingP
- @version
@see
*/
public class One {
public static void main(String[] args) {int sum = 0; int num = 0; int a = 1; for (int i = 13; i <= 1003; i += 10) { // i+=10的意思i的值每次以10递增 if (num % 2 == 0) { // 判断num是奇数或偶数, a = 1; // 当num为偶数时,a的值为1 } else { // 当num为奇数时,a的值为-1 a = -1; } sum = sum + i * a; num++; } System.out.println("13-23+23-33+43+...+973-983+993-1003的值为: " + sum);
}
}
实验结果:13-23+23-33+43+...+973-983+993-1003的值为: -500
- 编程求1!+2!+3!+…+20!。
实验源码:
package cn.java.day1;
/**
- Description:
- Date: 2019年9月15日 下午20:31:12
- @author dingP
- @version
@see
*/
public class One {
public static void main(String[] args) {int sum = 0; for (int i = 1; i <= 20; i++) { int temp = 1; for (int j = 1; j <= i; j++) { temp *= j; } sum += temp; } System.out.println("1-20阶乘和为:" + sum);
}
}
实验结果:1-20阶乘和为:268040729
- 编写Java程序,计算8+88+888+…前10项之和。
实验源码:
package cn.java.day1;
/**
- Description:
- Date: 2019年9月15日 下午20:33:23
- @author dingP
- @version
@see
*/
public class One {
public static void main(String[] args) {StringBuffer sb = new StringBuffer(); long sum = 0L; long j = 0L; for (int i = 0; i < 10; i++) { j = Long.valueOf(sb.append("8").toString()).longValue(); sum += j; } System.out.println(sum);
}
}
实验结果:9876543200
一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
实验源码:
for (int i = 1; i <= 1000; i++) {
int sum = 0;
for (int j = 1; j < i; j++) {
if (i % j == 0) {
sum += j;
}} if (i == sum) { System.out.println(i); } }
实验结果:6 28 496
编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
实验源码:
package cn.java.day1;
/**
- Description:
- Date: 2019年9月15日 下午6:33:57
- @author dingP
- @version
@see
*/
public class Two {
public static void main(String[] args) {
int n = 1;
long sum = 0;
do {
sum = sum + n;
n++;} while (sum <= 8888); System.out.println(n - 1);
}
}
实验结果:133
- 使用for循环打印下面的图形。
实验源码:
package cn.java.day1;
/**
- Description:
- Date: 2019年9月15日 下午15:35:32
- @author dingP
- @version
@see
*/
public class One {
public static void main(String[] args) {for (int i = 1; i <= 5; i++) { for (int m = 0; m < 5 - i; m++) { System.out.print(" "); } for (int j = 1; j <= i; j++) { System.out.print("* "); } System.out.println(); }
}
}
实验结果:
*
总结:阶乘那个题目我忘了阶乘的概念了,然后我又问了别的同学才知道,做题的时候老是有很多 不会的点。