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

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

首先要先明白素数的定义:除了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;对半取,可以节省空间。文章来源地址https://www.toymoban.com/news/detail-545117.html

#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;
}

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

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

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

相关文章

  • 超级详细用C语言判断一个数是否是素数

    先上代码: #include stdio.h int main() {         int n,i;     printf(\\\"请输入一个数: \\\");     scanf(\\\"%d\\\",n);     for(i=2;in;i++){         if(n%i==0){             break;         }     }     if(n==i){         printf(\\\"是素数\\\");     }     else         printf(\\\"不是素数\\\"); } 理解: 素数

    2024年02月08日
    浏览(89)
  • 判断一个数是否是素数(Java版)

    目录 素数的定义 求解素数 素数判定法1: 遍历从2到n-1的所有数字,判断是否有可以被n整除的数,如果没有,则为素数。 优化法2: 判定的范围改为[2 -,n/2]。当 in/2 时,则判定为素数。 优化法3: 在Java中判定素数的范围也可以到sqrt(n),(对n开平方)。对应的函数为:Math.sqrt(n

    2024年02月16日
    浏览(67)
  • python_输入任意一个数,判断是否是素数

    看了一下其他答案要不是格式不对run不出来,要不就是输入项验证不全,希望答案对大家有用。 

    2023年04月09日
    浏览(49)
  • C语言判断一个数是否是质数的几种常用方法(求100-1000以内的所有质数)

    要用代码判断一个数是否是质数,首先我们需要知道什么什么数称之为质数。质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。 以下有三种方法判定质数: 通过从2到n-1每个数均整除

    2024年02月08日
    浏览(91)
  • 【C语言】C语言实现一个函数 判断是否是素数

           欢迎来到南方有乔木的博客!!! 博主主页: 点击点击!戳一戳!! 博主QQ: 1636758318 博主简介: 一名在校大学生,正在努力学习Java语言编程。 穷且意坚,不坠青云之志 ,希望能在编程的世界里找到属于自己的光。 跪谢帅气or美丽的朋友们能够帮我点赞! 请对文中

    2024年02月04日
    浏览(84)
  • 判断一个数是否为质数4种方法

    首先理解什么是质数: 素数就是质素,只能被 1 和 它本身整除 的数字。 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数 最小的质数为2; 判断一个数是否为素数,要在2~i-1的数字去试除。如果i被整除,就说明i不是素数。如果2~i-1之间的数字都不能

    2024年02月05日
    浏览(59)
  • 【C语言】一个简单的C语言例子,判断一个数是否为2的幂

    目录 步骤和解释: 示例程序: 代码解释: 十进制转化成二进制: 代码解释: 首先我们需要知道的是2的幂次方在二进制中都是只有一个1的: 所以现在我们可以判断,如果二进制中只有一个1,其他位都是0,则这个数就是2的幂次方; 接着,我们使用这个数-1进行与计算,因

    2024年02月14日
    浏览(54)
  • C语言判断素数的三种方法 判断素数(质数)

    题目: 方法一:在2到n-1之间任取一个数,如果n能被整除则不是素数,否则就是素数 代码示例如下: 代码运行结果如下: 方法二:在2到n/2之间任取一个数,如果n能被整除则不是素数,否则就是素数  代码示例如下: 代码运行结果如下: 方法三:在2到sqrt(n)之间任取一个数,如

    2024年02月02日
    浏览(101)
  • C 语言 输入一个正整数,程序会利用is_prime函数判断该数是否是素数,如果是素数,输出“%d是素数“,否则输出“%d不是素数“。

    ``` 输入一个正整数,程序会利用is_prime函数判断该数是否是素数,如果是素数,输出\\\"%d是素数\\\",否则输出\\\"%d不是素数\\\"。

    2024年02月11日
    浏览(55)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包