c语言任给一个数求比它小的所有素数
时间: 2024-04-09 14:28:46 浏览: 69
以下是用 C 语言求比给定数小的所有数的代码:
```c
#include <.h>
int isPrime(int num) {
int i;
if (num 1)
return 0;
fori = 2; i <= num2; ++i) {
if (num i == 0) {
return 0;
}
}
return 1;
}
void printPrimes(int n) {
int i;
printf("比%d小的所有素数为:", n);
for (i = 2; i < n; ++i) {
if (isPrime(i)) {
printf("%d ", i);
}
}
printf("\n");
}
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
printPrimes(num);
return 0;
}
```
这个程序首先定义了一个函数 `isPrime` 来判断一个数是否为素数。然后定义了一个函数 `printPrimes` 来打印比给定数小的所有素数。在 `main` 函数中,用户输入一个正整数,然后调用 `printPrimes` 函数来打印所有比该数小的素数。
相关问题
判断任一个数是否是质数c语言
判断一个数是否为质数是基础的算法练习,尤其是在C语言中。质数是只有两个正因数(1和它本身)的大于1的自然数。以下是C语言中一种简单的质数检查方法:
```c
#include <stdio.h>
int isPrime(int num) {
if (num <= 1) { // 0和1不是质数
return 0;
}
for (int i = 2; i * i <= num; i++) { // 只需检查到其平方根即可
if (num % i == 0) { // 如果能整除,则不是质数
return 0;
}
}
return 1; // 如果以上都没整除,那么它是质数
}
int main() {
int number;
printf("请输入一个数字: ");
scanf("%d", &number);
if (isPrime(number)) {
printf("%d是质数\n", number);
} else {
printf("%d不是质数\n", number);
}
return 0;
}
```
C语言判断一个数是不是素数
以下是两种C语言判断一个数是否为素数的方法:
1. 方法一:判断一个数是否为素数,就是判断这个数能否被2到这个数-1之间的所有数整除,如果有就不是素数,否则就是素数。
```c
#include <stdio.h>
int main() {
int i, n;
scanf("%d", &n);
if (n <= 2) {
printf("%d不是素数\n", n);
} else {
for (i = 2; i <= n - 1; i++) {
if (n % i == 0) break;
}
if (i >= n) printf("%d是素数\n", n);
else printf("%d不是素数\n", n);
}
return 0;
}
```
2. 方法二:在2到sqrt(n)之间任取一个数,如果n能被整除则不是素数,否则就是素数。
```c
#include <stdio.h>
#include <math.h>
int main() {
int i,j,n;
printf("Please input numbers: ");
scanf("%d",&n);
j=(int)sqrt(n);
for(i=2;i<=j;i++) {
if(n%i==0) {
break;
}
}
if(j<i) {
printf("%d is prime!\n",n);
} else {
printf("%d is not prime!\n",n);
}
return 0;
}
```
阅读全文
相关推荐













