java . 输出100以内的所有素数
时间: 2024-09-25 09:06:53 浏览: 88
在Java中,我们可以编写一个简单的程序来找出100以内的所有素数。素数是指大于1且只能被1和自身整除的正整数。下面是一个基本的实现:
```java
public class PrimeNumbers {
public static void main(String[] args) {
for (int i = 2; i <= 100; i++) {
if (isPrime(i)) {
System.out.print(i + " ");
}
}
}
// 判断是否为素数的辅助函数
private static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int j = 2; j * j <= num; j++) { // 只需检查到根号数即可
if (num % j == 0) {
return false;
}
}
return true;
}
}
```
在这个程序中,`isPrime()` 函数用于判断给定数字是否为素数,主函数则通过循环遍历1到100的所有数字,对每个数调用 `isPrime()`,如果是素数就打印出来。
相关问题
、输出*组成的正等腰和倒等腰三角形 2.输出1000以内所有的素数(质数)每10个一行对齐
1. 要输出*组成的正等腰和倒等腰三角形,可以分别编写两个函数。例如,正等腰三角形的输出可以这样做:
```java
public class Triangle {
public static void printRightTriangle(int height) {
for (int i = 1; i <= height; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("* ");
}
System.out.println();
}
}
public static void printInvertedTriangle(int height) {
for (int i = height; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
System.out.print("* ");
}
System.out.println();
}
}
public static void main(String[] args) {
int triangleHeight = 5;
printRightTriangle(triangleHeight);
printInvertedTriangle(triangleHeight);
}
}
```
这会先打印出一个5行的右等腰三角形,然后是同样的倒等腰三角形。
2. 对于输出1000以内的素数,可以使用Sieve of Eratosthenes算法。首先创建一个布尔数组标记数字是否为素数,然后遍历并筛选素数。下面是一个简化版本的代码:
```java
public class Primes {
public static void printPrimesBelowOneThousand() {
boolean[] isPrime = new boolean[1001];
Arrays.fill(isPrime, true);
for (int i = 2; i * i <= 1000; i++) {
if (isPrime[i]) {
for (int j = i * i; j <= 1000; j += i) {
isPrime[j] = false;
}
}
}
for (int i = 2; i < 1001; i++) {
if (isPrime[i]) {
System.out.printf("%6d", i); // 对齐输出,每10个数换行一次
}
if ((i + 1) % 10 == 0) {
System.out.println();
}
}
}
public static void main(String[] args) {
printPrimesBelowOneThousand();
}
}
```
这将打印出1到1000之间的素数,并每10个数换行一次。
用Java语言输出100以内的质数
这是一个使用 Java 语言输出 100 以内质数的简单例子:
```
public class PrimeNumbers {
public static void main(String[] args) {
for (int i = 2; i <= 100; i++) {
boolean isPrime = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.println(i);
}
}
}
}
```
这段代码会在控制台输出 2 到 100 之间的所有质数。
简单来说,程序首先使用一个循环从 2 到 100 遍历每个数字。对于每个数字,它会再次使用一个循环来检查该数字是否为质数。如果找到了一个数字可以被该数字整除,则该数字不是质数,并且跳出内层循环。否则,如果没有找到可以被该数字整除的数字,则该数字是质数,并在控制台输出。
阅读全文
相关推荐
















