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

这篇具有很好参考价值的文章主要介绍了(c语言)素数判断的四种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

方法一: 

#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的倍数相邻。

文章来源地址https://www.toymoban.com/news/detail-759510.html

到了这里,关于(c语言)素数判断的四种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 反转链表的四种方法(C语言)

    206. 反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 提示: 链表中节点的数目范围是 [0, 5000] -5000 = Node.val = 5000 本题链表不带头结点

    2024年03月20日
    浏览(31)
  • C语言--输入一个数判断是否为素数(多种方法)

     需要解决这个问题,首先我们要明白 --------什么是素数? (质数)素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 举个例子:4  可以 由2*2=4  和1*4 得到,不符合素数的条件,所以不是素数。                   5  只能由1*5 得到,符合素数的

    2024年01月25日
    浏览(40)
  • C语言:判断一个数是否为素数(3种方法,含注释)

    首先要先明白素数的定义:除了1和本身之外,没有其他的因数的数,即不能被其他数整除。 同时要注意,1不是素数。 以下为判断素数的3个代码: 1.要注意给m赋初值是不能为1,因为1是任何数的因数,可以被任何数整除。若初值为1,则第一步就结束循环,所有的数输出结果

    2024年02月13日
    浏览(35)
  • C语言判断一个数是否为素数的三种方法(详细)

             今天我们来使用C语言来实现判断一个数是否为素数,首先我们需要了解到素数的概念,素数就是只能被1和它本身整除的数。             这是第一种代码,我们来分析一下,首先创建变量i和n,这里我们i用于循环,n用来存放我们输入的数字。之后我们设置一个

    2024年04月25日
    浏览(45)
  • 对比编程语言的四种错误处理方法,哪种才是最优方案?

    作者:Andrea Bergia 译者:豌豆花下猫@Python猫 英文:Error handling patterns 转载请保留作者及译者信息! 错误处理是编程的一个基本要素。除非你写的是“hello world”,否则就必须处理代码中的错误。在本文中,我将讨论各种编程语言在处理错误时使用的最常见的四种方法,并分析

    2024年02月03日
    浏览(62)
  • TypeScript判断对象类型的四种方式

    一、typeof 二、 instanceof 三、 constructor 四、 Object.prototype.toString() 使用案例:  

    2024年02月13日
    浏览(25)
  • C语言实现求解斐波那契数列的四种方法及优化处理(递归,迭代,特殊性质公式,矩阵快速幂)

            众所周知, 斐波那契数列 是非常经典的一个数列,它的数学公式如下         为了便于观察,我们列出它的几项:0  1  1  2  3  5  8  13  21......         下面我们将介绍四种方法来用C语言计算机代码实现对斐波那契数列的求解,分别是:递归法,迭代法

    2023年04月09日
    浏览(27)
  • Java 求素数 (四种方法,依次改进)

    目录 1.什么是素数 2.解法 方法零:博君一笑法 方法一:常规遍历  方法二:折半遍历--改进法  方法三:根号遍历--超级改进法 素数又称质数。一个大于1的自然数,      除了1和它自身外,不能被其他自然数整除的数叫做质数 方法零:博君一笑法 方法一:常规遍历  缺点:遍历次数

    2024年04月10日
    浏览(29)
  • C语言 - 判断素数

    素数(Prime number,又称质数),指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数 1.如果数字 i 能被 2 ~ i-1 整除,说明 i 就是素数 代码(V1): 2.上述代码可进行优化,我们试除的范围是2 ~ i-1,但实际上从 i/2 ~ i-1之间的数是多余的,因为如果一个数不能

    2024年02月11日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包