c语言输入正整数 m=18 ,判断 m 是否是素数。
时间: 2024-02-11 14:09:04 浏览: 69
好的,我来回答您的问题。以下是判断正整数 m 是否是素数的 C 语言代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int m, i, is_prime = 1;
printf("请输入一个正整数 m:");
scanf("%d", &m);
if (m <= 1) {
is_prime = 0;
} else {
for (i = 2; i <= sqrt(m); i++) {
if (m % i == 0) {
is_prime = 0;
break;
}
}
}
if (is_prime) {
printf("%d 是素数。\n", m);
} else {
printf("%d 不是素数。\n", m);
}
return 0;
}
```
代码的思路是:如果 m 小于等于 1,则不是素数;否则,从 2 到 sqrt(m)(sqrt 表示开方)依次判断 m 是否能被整除,如果能被整除,则 m 不是素数。如果 2 到 sqrt(m) 都不能整除 m,则 m 是素数。
因此,如果输入正整数 m=18,程序会输出:
```
18 不是素数。
```
相关问题
c语言输入正整数m,判断m是否是素数
好的,这个问题很简单。以下是 C 语言代码:
```
#include <stdio.h>
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m;
printf("请输入正整数m:");
scanf("%d", &m);
if (is_prime(m)) {
printf("%d 是素数\n", m);
} else {
printf("%d 不是素数\n", m);
}
return 0;
}
```
我们定义了一个叫做 `is_prime()` 的函数来判断一个数是否是素数。如果输入的数 `m` 是素数,那么程序会输出 `m 是素数`,否则会输出 `m 不是素数`。
C语言输入正整数 m ,判断 m 是否是素数。
好的,我了解了!对于您的问题,我可以给出以下 C 语言代码来判断一个正整数 m 是否为素数:
```
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int m) {
if(m < 2) {
return false; // 1 和负整数不是素数
}
for(int i = 2; i <= m/2; i++) {
if(m % i == 0) {
return false; // 能被除了1和它本身以外的数整除就不是素数
}
}
return true;
}
int main(void) {
int m;
printf("请输入一个正整数 m:\n");
scanf("%d", &m);
if(isPrime(m)) {
printf("%d 是素数!\n", m);
} else {
printf("%d 不是素数!\n", m);
}
return 0;
}
```
在这个程序中,我们使用了 `isPrime()` 函数来判断一个整数是否为素数。为了判断一个正整数 m 是否为素数,我们需要遍历从 2 到 m/2 的所有整数,判断 m 能否被这些整数整除。如果能被整除,那么 m 就不是素数;如果不能被整除,那么 m 就是素数。
对于输入的正整数 m,程序会读入并输出判断结果。
阅读全文