java - 问题是 - 如何检查一个数字是否是素数
问题描述
问题
- 您必须检查给定数字是否为质数。
- 取一个数字“t”作为输入,表示要测试的输入数字的计数。
- 将数字“n”作为输入“t”的次数。
- 对于 n 的每个输入值,如果数字是素数,则打印“素数”,否则打印“非素数”。
输入格式 A number t A number n A number n .. t 次数
输出格式 prime not prime not prime .. t 次
约束 1 <= t <= 10000 2 <= n < 10^9
样本输入 5 19 21 33 37 121
样本输出 素数非素数非素数素数非素数
我究竟做错了什么?程序输入正常,但结果却一次又一次地变化。输出对于某些输入是正确的,但对于其他一些输入是错误的?我错过了什么??
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
boolean flag = true;
int t = scn.nextInt();
for (int i = 0; i < t; i++) {
int n = scn.nextInt();
for (int k = 2; k * k <= n; k++) {
if (n % k == 0) {
System.out.println("not prime");
flag = false;
break;
}
}
if (flag)
System.out.println("prime");
}
}
}
解决方案
推荐阅读
- python - 每当用户在我的音乐机器人中发送消息时,它只需要第一个单词。我希望它取整首歌的名字
- python - PIL 将两个相同的阵列显示为不同的图像
- macos - 无法将本地文本文件传输/复制到 HDFS/Hadoop
- python - 索引 3D 数组中每一层的行
- .net - 如何减少 .net 中多部分部分的文件上传的最大大小?
- c++ - 在三元运算符中赋值
- python - 您可以使用输入打开 Tkinter 窗口吗?
- html - 单击按钮后从文本框中清除输入
- javascript - Bootstrap 和 Django:在我使用 AJAX 渲染 HTML 后,Popper.js 未加载
- spring-mvc - SonarQube 警告:方法返回相同的值