判断素数的代码c语言
时间: 2023-12-19 13:31:02 浏览: 34
以下是判断素数的C语言代码:
```c
#include <stdio.h>
int main() {
int num = 0;
int tmp = 2;
int flag = 1; // 假设输入的数是素数,后面再判断
printf("请输入一个正整数(大于2):");
scanf("%d", &num);
for (; tmp < num; tmp++) // 依次跟2~(num-1)取模
{
if (num % tmp == 0) //如果有num % tmp 等于0,说明有其他因数,因此这个数不是素数
{
flag = 0; //等于0,也就是不是素数
break;
}
}
if (flag == 1) {
printf("%d是素数\n", num);
} else {
printf("%d不是素数\n", num);
}
return 0;
}
```
相关问题
判断素数的C语言代码
以下是两种判断素数的C语言代码:
方法一:在2到n-1之间任取一个数,如果n能被所取的数整除则不是素数,否则就是素数。
```c
#include <stdio.h>
int main()
{
int i, n;
printf("请输入数值 ");
scanf("%d", &n);
for (i = 2; i <= n - 1; i++) //在2到n-1之间任取一个数
{
if (n % i == 0)
{
break;
}
}
if (i >= n)
{
printf("这是素数\n"); //直到循环结束都未被整除,是素数
}
else
{
printf("这不是素数\n"); //能被整除,不是素数
}
return 0;
}
```
方法二:在2到n/2之间任取一个数,如果n能被所取的数整除则不是素数,否则就是素数。
```c
#include <stdio.h>
int main()
{
int i, n;
printf("请输入数值 "); scanf("%d", &n);
for (i = 2; i <= n / 2; i++) //在2到n/2之间任取一个数
{
if (n % i == 0)
{
break;
}
}
if (i > n / 2)
{
printf("这是素数\n"); //直到循环结束都未被整除,是素数
}
else
{
printf("这不是素数\n"); //能被整除,不是素数
}
return 0;
}
```
方法三:在2到sqrt(n)之间任取一个数,如果n能被整除则不是素数,否则就是素数。
```c
#include <stdio.h>
#include <math.h> //引用数学公式的声明
int main()
{
int i, j, n;
printf("请输入数值: ");
scanf("%d", &n);
j = (int)sqrt(n); //j为n开平方根,也就是根号下n
for (i = 2; i <= j; i++) //在2到sqrt(n)之间任取一个数
{
if (n % i == 0)
{
break;
}
}
if (j < i)
{
printf("这是素数\n"); //循环结束还不能被整除,是素数
}
else
{
printf("这不是素数\n"); //被整除,不是素数
}
return 0;
}
```
判断素数c语言代码
以下是判断素数的 C 语言代码:
```c
#include <stdio.h>
int main() {
int num, i, flag = 0;
printf("Enter a positive integer: ");
scanf("%d", &num);
// 0 and 1 are not prime numbers
if (num == 0 || num == 1) {
printf("%d is not a prime number.", num);
} else {
for (i = 2; i <= num / 2; ++i) {
// condition for non-prime number
if (num % i == 0) {
flag = 1;
break;
}
}
if (flag == 0)
printf("%d is a prime number.", num);
else
printf("%d is not a prime number.", num);
}
return 0;
}
```
该程序首先要求用户输入一个正整数,然后将其与 0 和 1 进行比较,因为这两个数字不是质数。接下来,程序使用 for 循环从 2 开始迭代,直到 num/2。如果 num 能够被 i 整除,则将 flag 设置为 1,因为这意味着 num 不是质数。最后,程序检查 flag 的值,以确定 num 是否为质数,并打印相应的消息。