编写一个判断素数的c语音代码
时间: 2023-04-07 07:01:09 浏览: 42
以下是判断素数的C语言代码:
#include <stdio.h>
int main()
{
int n, i, flag = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
for(i=2; i<=n/2; ++i)
{
// 如果 n 能被 i 整除,则 n 不是素数
if(n%i == 0)
{
flag = 1;
break;
}
}
if (flag == 0)
printf("%d 是素数", n);
else
printf("%d 不是素数", n);
return 0;
}
相关问题
用c语言编写一个判断素数的函数,在主函数
中调用该函数判断输入的数是否为素数。
以下是用 C 语言编写判断素数的函数的示例代码:
```c
#include <stdio.h>
int isPrime(int num) {
// 小于等于1的数不是素数
if (num <= 1) {
return 0;
}
// 判断从2到num-1之间是否有因子
for (int i = 2; i < num; i++) {
if (num % i == 0) {
return 0;
}
}
// num是素数
return 1;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d 是素数。\n", num);
} else {
printf("%d 不是素数。\n", num);
}
return 0;
}
```
在主函数中,我们调用了 `isPrime` 函数来判断输入的数 `num` 是否为素数。 `isPrime` 函数的实现中,我们首先判断小于等于1的数不是素数,然后从2到num-1之间判断是否有因子,有则说明不是素数,返回0;否则说明是素数,返回1。最后在主函数中,根据 `isPrime` 函数返回的结果输出相应的信息。
请用c语言编写一个高精度的判断回文素数的代码
这是一个使用 C 语言编写的高精度判断回文素数的代码。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LEN 1000
int isPrime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int isPalindrome(char* str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
return 0;
}
}
return 1;
}
int main() {
char str[MAX_LEN];
scanf("%s", str);
int len = strlen(str);
for (int i = len - 1; i >= 0; i--) {
if (str[i] == '0' || str[i] == '2' || str[i] == '4' || str[i] == '5' || str[i] == '6' || str[i] == '8') {
printf("No\n");
return 0;
}
}
if (!isPalindrome(str)) {
printf("No\n");
return 0;
}
int num = atoi(str);
if (isPrime(num)) {
printf("Yes\n");
} else {
printf("No\n");
}
return 0;
}
```
该代码实现了以下三个函数:
1. `isPrime`:判断一个整数是否是素数。
2. `isPalindrome`:判断一个字符串是否是回文字符串。
3. `main`:读入一个字符串,判断它是否是回文素数。
在 `main` 函数中,首先判断字符串中是否包含偶数和 5 这些数字,因为这些数字不可能是素数。然后判断字符串是否是回文字符串,最后将字符串转换为整数并判断是否是素数,输出 Yes 或 No。