输入一个正整数,求第n小的质数c语言代码
时间: 2023-11-01 19:05:56 浏览: 60
以下是用C语言编写的求第N小质数的代码:
```
#include <stdio.h>
int main()
{
int n, count = 0, i, j;
scanf("%d", &n);
for (i = 2; ; ++i)
{
for (j = 2; j <= i; ++j)
if (i % j == 0)
break;
if (j == i)
{
++count;
if (count == n)
{
printf("%d", i);
return 0;
}
}
}
return 0;
}
```
如果您还有其它问题,请随时问我。
相关问题
C语言 输入一个正整数n,判断是否素数。
以下是一个用 C 语言判断一个正整数是否为素数的示例代码:
```c
#include <stdio.h>
int isPrime(int n) {
if (n <= 1) {
return 0; // 小于等于1的数不是素数
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0; // 存在能整除 n 的因子,不是素数
}
}
return 1; // 是素数
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
if (isPrime(n)) {
printf("%d 是素数\n", n);
} else {
printf("%d 不是素数\n", n);
}
return 0;
}
```
在这个示例中,我们首先定义了一个 `isPrime` 函数,该函数接受一个正整数作为参数,并返回一个布尔值,表示该数是否为素数。然后在 `main` 函数中,首先读取用户输入的正整数 `n`,然后调用 `isPrime` 函数进行判断,并输出结果。如果 `isPrime` 返回值为 1,则说明 `n` 是素数,否则不是素数。
请注意,在这个示例中,我们假设输入的是一个正整数。对于输入验证和错误处理,可以根据实际需求进行相应的改进。
c语言输入一个正整数,输入是否为素数
当输入一个正整数n时,我们可以根据素数的定义,将n分解质因数,如果n只有1和它本身两个因数,则说明它是一个素数。下面是判断素数的C语言代码示例:
```
#include <stdio.h>
#include <math.h>
int main()
{
int n, i;
printf("请输入一个正整数:");
scanf("%d", &n);
if (n <= 1) // 1不属于素数,因此要排除
{
printf("%d不是素数\n", n);
return 0;
}
for (i = 2; i <= sqrt(n); i++) // 判断n是否能被2到sqrt(n)之间的任何数整除
{
if (n % i == 0)
{
printf("%d不是素数\n", n);
return 0; // 如果能整除,则说明不是素数,直接退出程序
}
}
printf("%d是素数\n", n); // 如果循环完毕都没有退出程序,则说明是素数
return 0;
}
```
希望能够帮助到您,如果您还有其它问题,请随时提出。