Java 基础写法5:找素数 【题目描述】 输出正整数1到b之间的所有素数。 【输入】 输入b。 【输出】 由小到大,输出1到b之间的所有素数。每个数占一行。 【输入样例】 10 【输出样例】 2 3 5 7
时间: 2023-12-02 13:03:28 浏览: 98
好的,这是一个Java基础写法的找素数题目。下面是Java代码的实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int b = scanner.nextInt();
for (int i = 2; i <= b; i++) {
boolean isPrime = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.println(i);
}
}
}
}
```
输入一个整数b,然后从2开始循环到b,对于每个数i,判断其是否为素数。判断素数的方法是从2开始循环到i-1,如果存在一个数能够整除i,则该数不是素数,否则该数是素数。如果i是素数,则输出i。
相关问题
java 基础写法 输入一个正整数n,求第n小的质数。 n的范围一个不超过10000的正整数n。
可以使用质数筛选法来解决这个问题。具体实现如下:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
// 标记质数的数组
boolean[] isPrime = new boolean[1000000];
for (int i = 2; i < isPrime.length; i++) {
isPrime[i] = true;
}
// 质数筛选
for (int i = 2; i <= Math.sqrt(isPrime.length); i++) {
if (isPrime[i]) {
for (int j = i * i; j < isPrime.length; j += i) {
isPrime[j] = false;
}
}
}
// 统计第n小的质数
int count = 0;
for (int i = 2; i < isPrime.length; i++) {
if (isPrime[i]) {
count++;
if (count == n) {
System.out.println(i);
break;
}
}
}
}
}
```
首先读入正整数n,然后定义一个长度为1000000的boolean数组isPrime,用于标记每个数是否为质数。在循环中,将isPrime数组中的所有元素初始化为true。接着使用质数筛选法,对2到1000000之间的所有数进行筛选,将非质数标记为false。
最后,定义一个计数器count,遍历isPrime数组,统计其中的质数个数,当质数个数等于n时,输出当前的数值,即为第n小的质数。
java 用最基础的写法写个输入一个正整数n,求第n小的质数。
下面是一个最基础的Java程序,用于求第n小的质数:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int count = 0; // 计数器
int i = 2; // 从2开始查找质数
while (count < n) {
boolean isPrime = true; // 标记i是否为质数
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
count++;
}
i++;
}
System.out.println(i - 1);
}
}
```
首先读入正整数n,然后定义一个计数器count和一个变量i,用于查找第n小的质数。在循环中,如果i是质数,则将计数器count加1,否则继续查找下一个数。当计数器count等于n时,当前的i即为第n小的质数,输出i的值即可。
在判断i是否为质数时,使用了一个简单的算法:遍历2到根号i之间的所有正整数,如果i可以被其中任意一个整数整除,则i不是质数。如果没有找到这样的整数,则i是质数。
阅读全文