C语言判断素数的三种方法 判断素数(质数)

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

题目:

c语言判断素数,C语言基础入门,c++,c语言,青少年编程,c#,开发语言

方法一:在2到n-1之间任取一个数,如果n能被整除则不是素数,否则就是素数

代码示例如下:

#include <stdio.h>
int main()
{
	int i,n;
	printf("Please input: ");
	scanf("%d",&n);
	for(i=2;i<=n-1;i++)
        {
		if(n%i==0){
			break;
		}
}
	if(i>=n)
    {
		printf("This is a prime!\n");
	}
	else
    {
		printf("This is not a prime!\n");
	}
    return 0;
}

代码运行结果如下:

c语言判断素数,C语言基础入门,c++,c语言,青少年编程,c#,开发语言

方法二:在2到n/2之间任取一个数,如果n能被整除则不是素数,否则就是素数 

代码示例如下:

#include<stdio.h>
int main()
{
	int n,i;
	printf("Please input numbers: ");
	scanf("%d",&n);
	for(i=2;i<=n/2;i++)
   {
		if(n%i==0)
        {
			printf("This is not a prime!\n");
			break;
		}
	}
	if(i==n/2+1)
    {
		printf("This is a prime!\n");
	}
    return 0;
}

代码运行结果如下:

c语言判断素数,C语言基础入门,c++,c语言,青少年编程,c#,开发语言

方法三:在2到sqrt(n)之间任取一个数,如果n能被整除则不是素数,否则就是素数 

#include<stdio.h>
#include <math.h>
int main()
{
    int i,j,n;
    printf("Please input numbers: ");
    scanf("%d",&n);
    j=(int)sqrt(n);
    for(i=2;i<=j;i++)
    {
        if(n%i==0)
        {
            break;
        }
    }
    if(j<i)
      {
        printf("%d is prime!\n",n);
      }
    else
      {
        printf("%d is not prime!\n",n);
      }
     return 0;
}

代码运行结果如下:

c语言判断素数,C语言基础入门,c++,c语言,青少年编程,c#,开发语言

 

方法四:质数分布的规律:大于等于5的质数一定和6的倍数相邻。例如5和7,11和13,17和19等

代码示例如下:

#include<stdio.h>
#include<math.h>
bool isPrime_3(int num)
{
    if (num == 2 || num == 3)//两个较小数另外处理
        return true;

    if (num % 6 != 1 && num % 6 != 5)    //不在6的倍数两侧的一定不是质数
        return false;
}
int main()
{    
    int i,num;
   
    for (i = 2; i <= sqrt(num); i += 6)  //在6的倍数两侧的也可能不是质数 
    {
        if (num % i == 0 || num % (i + 2) == 0)
            return false;
    }

    //排除所有,剩余的是质数
    return true;
}

编者注:以上对本小题的代码编写的多种方法,欢迎大家收藏借鉴并转发;

               以上代码仅供参考,如有问题欢迎大家在留言区批评指正;

               版权所有,翻印必究,如有雷同纯属巧合,转载请注明出处。

               By CRH380AJ2808 2022.04.27
————————————————


版权声明:本文为CSDN博主「CRH380AJ2808」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/JH13thpig/article/details/124434094文章来源地址https://www.toymoban.com/news/detail-785941.html

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

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

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

相关文章

  • 【C语言】判断字符类型的三种方法

    🦄 个人主页 :修修修也 🎏 所属专栏 :C语言 ⚙️ 操作环境 : Visual Studio 2022 目录 一.字符的类型分类 1.ASCII的定义:  2.ASCII的产生原因是: 3.ASCII的内容: 二.字符类型判断相关库函数 1.isdigit(),用于判断字符是否为数字。 2. isalpha(),用于判断字符是否为字母。 3. isalnum(),用

    2024年02月06日
    浏览(34)
  • C语言 五种方法输出100以内的素数(质数) 源码

    目录   写在前面: 输出前20万个素数,对比简单遍历和欧拉筛选的运行时间。 简单遍历: 欧拉筛选: 一、简单遍历 二、遍历至该数的平方根       三、用x/i来代替sqrt(x) 四、朴素筛法 五、埃式筛法 六、欧拉筛法           简单遍历: 3.243秒 欧拉筛选: 0.353秒     

    2024年02月05日
    浏览(27)
  • C 练习实例33 - 质数(素数)判断

    题目: 判断一个数字是否为质数。 程序分析: 质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。 这题做过很多遍了,懂得都懂。 代码:

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

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

    2024年02月08日
    浏览(64)
  • C语言if判断语句的三种用法

    一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 C 语言中 if 语句的语法: 如果布尔表达式为 true,则 if 语句内的代码块将被执行。如果布尔表达式为 false,则 if 语句结束后的第一组代码(闭括号后)将被执行。 C 语言把任何非零和非空的值假定为 true,把零或 n

    2024年02月06日
    浏览(51)
  • (c语言)素数判断的四种方法

    2024年02月04日
    浏览(29)
  • [C语言]输出100以内的所有素数(质数)

    概念解读 : 质数又被称为素数,是指一个大于1的自然数,除了1和它自身外,不能被其它自然数整除,且其个数是无穷的。 思路分析: 对于代码大方向,我们可以直接主函数中写,也可以用可移植性高的自定义函数来写。 100以内样例输出示意 2 3 5 7 11 13 17 19 23 29 31 37 41 43

    2024年02月11日
    浏览(34)
  • java中判断对象类型的三种方法

    instanceof instanceof 是 Java 中的一个,用于判断一个对象是否是指定类型或其子类型的实例。它的使用格式为: 其中, 对象 是待判断的对象, 类型 是要判断的类型。 instanceof 的返回值是一个布尔值,如果对象是指定类型或其子类型的实例,则返回 true ,否则返回

    2024年02月03日
    浏览(33)
  • C语言中判断素数的几种方法

    作为C的初学者们希望大家看看这几种判断素数的方法 既然进来了就看完把 题目要求: 判断n是否为素数。 首先我们讲一下素数的判定:素数就是只能被1或者本身整除的数,这就延伸出了几种不同的判定方法。 方法一:因为判断素数相当于就是判断这个数能不能整除2-这个数

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

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

    2024年01月25日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包