关注
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
// 定义输出数字
// 定义0-9
private static final String num0[] = new String[] { " - ", "| |", " ", "| |", " - " };
private static final String num1[] = new String[] { " ", " |", " ", " |", " " };
private static final String num2[] = new String[] { " - ", " |", " - ", "| ", " - " };
private static final String num3[] = new String[] { " - ", " |", " - ", " |", " - " };
private static final String num4[] = new String[] { " - ", "| |", " - ", " |", " " };
private static final String num5[] = new String[] { " - ", "| ", " - ", " |", " - " };
private static final String num6[] = new String[] { " - ", "| ", " - ", "| |", " - " };
private static final String num7[] = new String[] { " - ", " |", " ", " |", " " };
private static final String num8[] = new String[] { " - ", "| |", " - ", "| |", " - " };
private static final String num9[] = new String[] { " - ", "| |", " - ", " |", " - " };
// 定义操作符*
private static final String num10[] = new String[] { " ", " ", "*", " ", " " };
// 整合
private static final String allNum[][] = { num0, num1, num2, num3, num4, num5, num6, num7, num8, num9, num10 };
public static int[] dealLt10(int temp) {
String target = "" + temp;
int len = target.length();
int[] res = new int[len];
for (int i = 0; i < len; i++) {
res[i] = target.charAt(i) - 48;
}
return res;
}
public static ArrayList<Integer> getPrimeNumber(int num) {
// 结果数组
ArrayList<Integer> result = new ArrayList<Integer>();
// 最小质数 开始
int starNumber = 2;// 定义最小的质数
// 判断1
if (num <= 1) {
result.add(0);
} else {
// 在质数小于输入的数时,进行循环
while (starNumber <= num) {
if (starNumber == num) {// 当质数等于输入的数时,直接输出
// 输出字符
// result.add(num);
if (num >= 0 && num <= 9)
result.add(num);
else {
int[] temp = dealLt10(num);
for (int c = 0; c < temp.length; c++) {
result.add(temp[c]);
}
}
break;
} else if (num % starNumber == 0) {// 当输入的数与质数的余数为0时,输出这个质数
// 输出字符
// result.add(starNumber);
if (num >= 0 && num <= 9)
result.add(starNumber);
else {
int[] temp = dealLt10(starNumber);
for (int c = 0; c < temp.length; c++) {
result.add(temp[c]);
}
}
result.add(-1);
num = num / starNumber;// 把剩下的结果赋给num
} else {// 在余数不为0时,质数递增
starNumber++;
}
}
}
return result;
}
public static void printNumber(ArrayList<Integer> result) {
// 循环输出
for (int n = 0; n < 5; n++) {
for (int m = 0; m < result.si敏感词t temp = result.get(m);
if (temp == -1)
System.out.print(allNum[10][n]);
else
System.out.print(allNum[temp][n]);
}
System.out.println("");
}
}
public static void main(String[] args) {
int num;
Scanner cin = new Scanner(System.in);
while (cin.hasNextInt()) {
num = cin.nextInt();
// 获取素数数组
ArrayList<Integer> result = getPrimeNumber(num);
// 打印数组
printNumber(result);
}
}
}
给个参考,自己写的,没在线测试
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 你的实习产出是真实的还是包装的? #
10050次浏览 148人参与
# 第一份工作应该只看薪资吗 #
252232次浏览 1916人参与
# 米连集团26产品管培生项目 #
10623次浏览 265人参与
# 春招至今,你的战绩如何? #
32336次浏览 295人参与
# 什么专业适合考公 #
57146次浏览 290人参与
# 长得好看会提高面试通过率吗? #
14723次浏览 152人参与
# AI面会问哪些问题? #
5924次浏览 169人参与
# 蚂蚁求职进展汇总 #
157010次浏览 1253人参与
# 找实习记录 #
241140次浏览 1471人参与
# 春招你拿到offer了吗 #
814488次浏览 9891人参与
# 哪些公司校招卡第一学历 #
251010次浏览 861人参与
# 你做过最难的笔试是哪家公司 #
8356次浏览 69人参与
# 从事AI岗需要掌握哪些技术栈? #
2262次浏览 64人参与
# 找AI工作可以去哪些公司? #
1992次浏览 40人参与
# HR最不可信的一句话是__ #
2888次浏览 61人参与
# 一张图晒出你司的标语 #
1757次浏览 26人参与
# 沪漂/北漂你觉得哪个更苦? #
4960次浏览 88人参与
# 毕业论文怎么查AI率 #
79641次浏览 1959人参与
# AI时代,哪个岗位还有“活路” #
5778次浏览 148人参与
# 简历第一个项目做什么 #
34448次浏览 547人参与
# 通信和硬件还有转码的必要吗 #
99016次浏览 633人参与