第三周课程总结&实验报告(一)
- 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个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();
}
}
}
实验结果:
*
总结:阶乘那个题目我忘了阶乘的概念了,然后我又问了别的同学才知道,做题的时候老是有很多 不会的点。

浙公网安备 33010602011771号