编程求前n个素数,n的大小由用户键盘输入决定?

如题所述

可以使用Python编写一个程序来生成前n个素数,其中n是由用户从键盘输入的。
下面是一个实现的例子:
def is_prime(num):
"""
判断一个数是否为素数
"""
if num <= 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
n = int(input("请输入要生成的素数的个数:"))
primes = []
i = 2
while len(primes) < n:
if is_prime(i):
primes.append(i)
i += 1
print("前", n, "个素数为:", primes)
这个程序定义了一个 is_prime() 函数来判断一个数是否为素数,然后从2开始不断尝试逐个数字,并将每个素数添加到一个列表中。最后,程序输出生成的素数列表。
=========================java====================
import java.util.Scanner;
public class PrimeNumbers {
public static void main(String[] args) {
// 读取用户输入
Scanner scanner = new Scanner(System.in);
System.out.print("请输入n的值:");
int n = scanner.nextInt();
// 初始化变量
int count = 0;
int number = 2;
while (count < n) {
// 判断是否为素数
boolean isPrime = true;
for (int i = 2; i <= Math.sqrt(number); i++) {
if (number % i == 0) {
isPrime = false;
break;
}
}
// 如果是素数,输出并增加计数器
if (isPrime) {
System.out.print(number + " ");
count++;
}
number++;
}
}
}
该程序会要求用户输入n的值,然后输出前n个素数。程序会从2开始逐个判断每个数是否为素数,如果是素数,则输出,并且计数器加1,直到输出了前n个素数。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-02-19

#include <stdio.h>

int isprime(int n)

{

    int i;

    if(n<2)

        return 0;

    for(i=2;i*i<=n;++i)

        if(n%i==0)

            return 0;

    return 1;

}

int main()

{

    int i,n,cnt;

    scanf("%d",&n);

    for(i=2,cnt=0;cnt<n;++i)

    {

        if(isprime(i))

        {

            printf("%d\n",i);

            cnt++;

        }

    }

    return 0;

}

第2个回答  2023-02-19
以下是使用Python语言编写的一个求前n个素数的程序,n的大小由用户从键盘输入决定:
def is_prime(n):
"""
判断一个数是否为素数
"""
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
n = int(input("请输入要求的素数个数:"))
count = 0
num = 2
while count < n:
if is_prime(num):
print(num, end=" ")
count += 1
num += 1
运行该程序后,程序会要求用户从键盘输入要求的素数个数n,然后程序会按顺序输出前n个素数。
相似回答