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

(c语言)素数判断的四种方法

作者:单纯小寒寒时间:2024-03-21 12:12:51分类:诗句大全

简介  文章浏览阅读2.2w次,点赞27次,收藏106次。include //方法三:在2到sqrt(n)之间任取一个数,如果n能被整除则不是素数,否则就是素数。#include //方

点击全文阅读

方法一: 

#include <stdio.h>               //方法一:在2到n-1之间任取一个数,如果n能被所取的数整除则不是素数,否则就是素数       int main()                        //因为我们只需要循环到i<n,而不是i<=n,否则就会出错。{    int i, n;    printf("请输入数值 ");    scanf("%d", &n);    if (n<=1)    {        printf("数据错误,不在取值范围内\n");        return 0;    }    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;}

方法二: 

#include<stdio.h>                    //方法二:在2到n/2之间任取一个数,如果n能被所取的数整除则不是素数,否则就是素数int main(){    int n, i;    printf("请输入数值: ");    scanf("%d", &n);    if (n<=1)    {        printf("数据错误,不在取值范围内\n");        return 0;    }    for (i = 2; i <= n / 2; i++)     //在2到n/2之间任取一个数    {        if (n % i == 0)        {            printf("这不是素数\n");      //能被整除,不是素数            break;        }    }    if (i == n / 2 + 1)    {        printf("这是素数\n");           //循环结束还不能被整除,是素数    }    return 0;}

方法三: 

#include<stdio.h>                       //方法三:在2到sqrt(n)之间任取一个数,如果n能被整除则不是素数,否则就是素数 #include <math.h>                       //引用数学公式的声明int main(){    int i, j, n;    printf("请输入数值: ");    scanf("%d", &n);    j = (int)sqrt(n);                   //j为n开平方根,也就是根号下n    if (n<=1)    {        printf("数据错误,不在取值范围内\n");        return 0;    }    for (i = 2; i <= j; i++)            //在2到sqrt(n)之间任取一个数    {        if (n % i == 0)        {            break;        }    }    if (j < i)    {        printf("这是素数\n");            //循环结束还不能被整除,是素数    }    else    {        printf("这不是素数\n");          //被整除,不是素数    }    return 0;}


方法四:质数分布的规律:大于等于5的质数一定和6的倍数相邻。

点击全文阅读

郑重声明:

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

我来说两句