c 语言求素数
时间: 2023-07-13 15:21:03 浏览: 199
以下是使用 C 语言编写的求素数的代码:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int num) {
if(num <= 1) {
return false;
}
for(int i = 2; i * i <= num; i++) {
if(num % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("%d以内的素数有:", n);
for(int i = 2; i <= n; i++) {
if(isPrime(i)) {
printf("%d ", i);
}
}
return 0;
}
```
上述代码中,isPrime() 函数用于判断一个数是否为素数,它通过循环判断该数是否能被小于等于它平方根的正整数整除来判断。
在主函数中,先输入一个正整数 n,然后循环判断从 2 到 n 之间的每个数是否为素数,是则输出。
相关问题
c 语言可逆素数
c语言可逆素数是指一个数既是素数,又是将它的数字顺序颠倒后所得到的数也是素数。例如,13是一个c语言可逆素数,因为13和31都是素数。又如,17不是一个c语言可逆素数,因为17颠倒后得到的71不是素数。编写一个判断一个数是否为c语言可逆素数的程序可以采用以下步骤:
1. 判断该数是否为素数。
2. 如果是素数,将该数的各位数字颠倒并计算得到一个新数。
3. 判断新数是否为素数,如果是素数,则原数是c语言可逆素数,否则不是。
下面是一个使用C语言编写的判断一个数是否为c语言可逆素数的程序示例:
```c
#include <stdio.h>
int isPrime(int n) { // 判断素数函数
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int reverse(int n) { // 将数的各位数字颠倒
int result = 0;
while (n) {
result = result * 10 + n % 10;
n /= 10;
}
return result;
}
int main() {
int n;
printf("Enter a number: ");
scanf("%d", &n);
if (isPrime(n) && isPrime(reverse(n))) {
printf("%d is a c-language reversible prime.\n", n);
} else {
printf("%d is not a c-language reversible prime.\n", n);
}
return 0;
}
```
该程序首先定义了一个判断素数的函数isPrime,然后定义了一个将数的各位数字颠倒的函数reverse。在主函数中,程序首先读入一个数字n,然后用isPrime判断n是否为素数,如果是素数,再用reverse函数将n的各位数字颠倒得到一个新数,用isPrime判断新数是否为素数,最终输出结果。
c 语言求某个范围内素数
以下是使用 C 语言编写的求某个范围内素数的代码:
```c
#include <stdio.h>
int is_prime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
void print_primes(int start, int end) {
for (int i = start; i <= end; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
}
int main() {
int start, end;
printf("Enter the start and end values: ");
scanf("%d %d", &start, &end);
printf("Prime numbers between %d and %d are: ", start, end);
print_primes(start, end);
return 0;
}
```
首先,我们定义一个函数 `is_prime` 来判断一个数是否为素数。如果这个数小于等于1,则不是素数;否则,我们循环从2到这个数的平方根,如果存在一个数能够整除它,则不是素数。最后,如果都不能整除它,则是素数。
接着,我们定义另一个函数 `print_primes`,它接收起始值和结束值,并循环这个范围内所有的数。对于每个数,我们调用 `is_prime` 函数来判断它是否为素数,如果是,则输出这个数。
最后,在 `main` 函数中,我们读取用户输入的起始值和结束值,然后调用 `print_primes` 函数来输出这个范围内的素数。
阅读全文