两道大题,就第一题稍微有点难度,第二题小儿科。
第一题:
给出一个整数,分解素因数,并以计算器显示的数字形式打印出来,乘号用*表示
例如:
输入: 10
输出:
- -
| |
- * -
| |
思路:
质因数分解及代码参考:质因数分解及代码
代码:
import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
int num;
while (cin.hasNext()) {
num = cin.nextInt();
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = 2; i * i < num; ++ i) {
while (num % i == 0) {
list.add(i);
num /= i;
}
}
if (num > 1) list.add(num);
for (int i = 0; i < 5; ++ i) {
int j = 0;
for (; j < list.size() - 1; ++ j) {
printNum(i, list.get(j));
printFlag(i);
}
printNum(i, list.get(list.size() - 1));
System.out.println();
}
}
}
public static void printFlag(int loc) {
if (loc == 0) System.out.print(" ");
if (loc == 1) System.out.print(" ");
if (loc == 2) System.out.print("*");
if (loc == 3) System.out.print(" ");
if (loc == 4) System.out.print(" ");
}
public static void printNum(int loc, int num) {
if (loc == 0) {
if (num == 0) System.out.print(" - ");
if (num == 1) System.out.print(" ");
if (num == 2) System.out.print(" - ");
if (num == 3) System.out.print(" - ");
if (num == 4) System.out.print(" ");
if (num == 5) System.out.print(" - ");
if (num == 6) System.out.print(" - ");
if (num == 7) System.out.print(" - ");
if (num == 8) System.out.print(" - ");
if (num == 9) System.out.print(" - ");
}
else if (loc == 1) {
if (num == 0) System.out.print("| |");
if (num == 1) System.out.print(" |");
if (num == 2) System.out.print(" |");
if (num == 3) System.out.print(" |");
if (num == 4) System.out.print("| |");
if (num == 5) System.out.print("| ");
if (num == 6) System.out.print("| ");
if (num == 7) System.out.print(" |");
if (num == 8) System.out.print("| |");
if (num == 9) System.out.print("| |");
}
else if (loc == 2) {
if (num == 0) System.out.print(" ");
if (num == 1) System.out.print(" ");
if (num == 2) System.out.print(" - ");
if (num == 3) System.out.print(" - ");
if (num == 4) System.out.print(" - ");
if (num == 5) System.out.print(" - ");
if (num == 6) System.out.print(" - ");
if (num == 7) System.out.print(" ");
if (num == 8) System.out.print(" - ");
if (num == 9) System.out.print(" - ");
}
else if (loc == 3) {
if (num == 0) System.out.print("| |");
if (num == 1) System.out.print(" |");
if (num == 2) System.out.print("| ");
if (num == 3) System.out.print(" |");
if (num == 4) System.out.print(" |");
if (num == 5) System.out.print(" |");
if (num == 6) System.out.print("| |");
if (num == 7) System.out.print(" |");
if (num == 8) System.out.print("| |");
if (num == 9) System.out.print(" |");
}
else if (loc == 4) {
if (num == 0) System.out.print(" - ");
if (num == 1) System.out.print(" ");
if (num == 2) System.out.print(" - ");
if (num == 3) System.out.print(" - ");
if (num == 4) System.out.print(" ");
if (num == 5) System.out.print(" - ");
if (num == 6) System.out.print(" - ");
if (num == 7) System.out.print(" ");
if (num == 8) System.out.print(" - ");
if (num == 9) System.out.print(" - ");
}
}
}