您现在的位置是:首页 > 诗句大全

C语言:判断一个数是否为素数(3种方法,含注释)

作者:峨乐时间:2024-03-26 15:55:48分类:诗句大全

简介  文章浏览阅读8.1w次,点赞211次,收藏836次。首先要先明白素数的定义:除了1和本身之外,没有其他的因数的数,即不能被其他数整除。同时要注意,1不是素数。以下为判断素数的3中方法,可复制。_c语言判断素数

点击全文阅读

首先要先明白素数的定义:除了1和本身之外,没有其他的因数的数,即不能被其他数整除。

同时要注意,1不是素数。

以下为判断素数的3个代码:

1.要注意给m赋初值是不能为1,因为1是任何数的因数,可以被任何数整除。若初值为1,则第一步就结束循环,所有的数输出结果均为不是素数(1除外),无法起到判断作用。

#include<stdio.h>int main(){    int i, m;    printf("请输入一个大于一的整数:");        scanf("%d", &i);    for (m = 2; m <= i; m++)        if (i % m == 0)//当2-m之间遇到因数时,结束循环            break;    if (m == i)//如果遇到的因数就是它本身,是素数        printf("%d是素数", i);    else        printf("%d不是素数", i);    return 0;}

2.此代码中,count的作用是计算这个数的因数个数,如果是2,即只有1和本身,是素数。

#include<stdio.h>int main(){    int i, m;    int count = 0;    printf("请输入一个大于1的整数:\n");    scanf("%d", &i);    for (m = 1; m <= i; m++)    {        if (i % m == 0)//统计要判断的数的因数个数            count++;    }    if (count == 2)//如果只有2个因数        printf("%d是素数", i);    else        printf("%d不是素数", i);            return 0;        }

3.此代码中引用了求平方根sqrt函数,所以要引用math.h;对半取,可以节省空间。

#include<stdio.h>#include<math.h>//求平方根需要引用int main(){    int n, m, i;//定义需要用到的变量    printf("请输入一个大于1的正整数:");    scanf("%d", &n);//输入要判断的数    m = sqrt(n);//求输入数的平方根    for (i = 2; i <= m; i++)//取2-m之间的每一个整数        if (n % i == 0)//判断能否整除n            break;//非素数,跳出循环    if (i > m)        printf("%d是素数!\n", n);//循环正常结束,是素数    else        printf("%d不是素数!\n", n);//循环中途退出,不是素数    return 0;}

点击全文阅读

郑重声明:

本站所有活动均为互联网所得,如有侵权请联系本站删除处理

我来说两句