自动生成一个随机数并判断是否为随机数,直到生成的是素数 C语言
时间: 2023-08-25 22:25:40 浏览: 96
好的,我来为您提供一个 C 语言的实现。
首先,我们需要一个函数来判断一个数是否为素数。一个数如果只能被 1 和自身整除,那么它就是素数。下面是一个判断素数的函数:
```c
#include <math.h>
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
```
接下来,我们可以使用 C 语言的 rand() 函数来生成随机数,并判断是否为素数。如果不是素数,就继续生成随机数,直到生成的是素数。下面是一个实现该功能的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
srand(time(NULL));
int num;
while (1) {
num = rand() % 100 + 1;
if (is_prime(num)) {
printf("%d 是素数\n", num);
break;
} else {
printf("%d 不是素数,继续生成随机数\n", num);
}
}
return 0;
}
```
这段代码会生成 1 到 100 之间的随机数,然后判断是否为素数。如果不是素数,就会继续生成随机数,直到生成的是素数。当生成的是素数时,会输出该数并退出循环。
阅读全文