1. 九九乘法表
@Test
public void nineTable() {
System.out.println("---------------- 正三角 ----------------");
for (int i = 1; i < 10; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + i * j + "\t");
}
System.out.println();
}
System.out.println("---------------- 倒三角 ----------------");
for (int i = 1; i < 10; i++) {
for (int j = i; j <= 9; j++) {
System.out.print(i + "*" + j + "=" + i * j + "\t");
}
System.out.println();
}
}
打印结果:
---------------- 正三角 ----------------
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
---------------- 倒三角 ----------------
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9
2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
6*6=36 6*7=42 6*8=48 6*9=54
7*7=49 7*8=56 7*9=63
8*8=64 8*9=72
9*9=81
2. 最大公约数
题目:求最大公约数和最小公倍数
解法:辗转相除法 (又称欧几里得算法)
定理:两个正整数 a 和 b(a>b),它们的最大公约数等于 a 除以 b 的余数 c 和 b 之间的最大公约数
@Test
public void divisor () {
// maxMinus(35, 56);
maxMinus(56, 35);
}
public void maxMinus (int m, int n) {
int temp = 1;
int maxDiv = 1;
int minMulti = m * n;
if (n < m) {
temp = n;
n = m;
m = temp;
}
while (m != 0) {
temp = n % m;
n = m;
m = temp;
}
maxDiv = n;
minMulti /= n;
System.out.println("maxDiv=" + maxDiv + ", minMulti=" + minMulti);
}
网友评论