判断一个数是否为素数(质数) c语言[通俗易懂]

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数。最小的质数是2,它也是唯一的偶数质数。原理:number只需被(2~根号下number)之间的每一个整数去除就可以了(包括根号下number这个数)。如果nummber不能被(2~根号下number)间任一整数整除,number必定是素数#include”stdio.h”#include”math.h”main(){ intnumber,i,n; printf(“请输入一个正整数:

大家好,又见面了,我是你们的朋友全栈君。

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数。最小的质数是2,它也是唯一的偶数质数。
原理:number 只需被 (2 ~ 根号下number)之间的每一个整数去除就可以了(包括 根号下number这个数)。如果 nummber不能被 (2 ~ 根号下number) 间任一整数整除,number 必定是素数

#include"stdio.h"
#include"math.h"
main()
{ 
   
	int number,i,n;
	printf("请输入一个正整数:\t");
	scanf("%d",&number);	
		while(number>0)//输入0或小于0的数,结束循环
		{ 
   
			n=(int)sqrt(number);//开平方
			if(number==1)
			{ 
   
				printf("1既不是素数,也不是合数\n");//注:1既不是素数,也不是合数
                scanf("%d",&number);
				continue; //跳出这一次循环 
			}
			for(i=2;i<=n;i++)   //2和3的开平方分别为1.414和1.732,不满足循环条件(i<=n)
			{ 
   
				if(number%i==0)
				  break;
			}
		if(i>n) //i=2,2和3满足(i>n),所以是素数
			printf("%d是素数\n",number);
		else
			printf("%d不是素数\n",number);
		printf("请输入一个正整数:\t");
		scanf("%d",&number);		 
	}
}


运行:成功
2.以下是函数形式

#include"stdio.h"
#include"math.h"
void find_prime(int number)
{ 
   
	int n,i;
	n=(int)sqrt(number);
	for(i=2;i<=n;i++)
	{ 
   
		if(number%i==0)
			break;
	}
	if(i>n)
		printf("%d是素数\n",number);
	else
		printf("%d不是素数\n",number);
}

void main()
{ 
   
	int number;
	printf("请输入大于一的正整数:\t");
	scanf("%d",&number);
	if(number>1)
		find_prime(number);
	else if(number==1)
		printf("1既不是质数,也不是合数\n");
	else
		printf("请输入大于一的正整数\n");
}


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126465.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • icem划分网格步骤_ICEM CFD教程-icem网格划分教程

    icem划分网格步骤_ICEM CFD教程-icem网格划分教程ICEMCFD教程四面体网格对于复杂外形,ICEMCFDTetra具有如下优点:根据用户事先规定一些关键的点和曲线基于8叉树算法的网格生成,生成速度快,大约为1500cells/second无需表面的三角形划分,直接生成体网格四面体网格能够合并到混合网格中,并实施平滑操作单独区域的粗化和细化ICEMCFD的CAD(CATIAV4,UG,ProE,IGES,andP…

    2022年5月9日
    44
  • jQuery仿阿里云购买选择购买时间长度

    效果:http://hovertree.com/texiao/jquery/61/jQuery仿阿里云购买服务器选择时间长度,操作简单,只需点击所要选的时间段代码:转自:http://hover

    2021年12月22日
    40
  • jvm基础_java实现栈四个方法

    jvm基础_java实现栈四个方法JVM进阶(一)——初识JAVA栈  若想使自己编写的Java程序高效运行,以及进行正确、高效的异常诊断,JVM是不得不谈的一个话题。本”JVM进阶“专栏大部分内容均来源于经典书籍《深入理解Java虚拟机》。  下面言归正传,本文重点从虚拟机内存模型(运行时数据区域)入手。先看图:  这是一张比较官方的虚拟机模型图,今天讲的就是虚线框中栈的部分。  栈是我们最常用的内存区域。它主

    2022年9月6日
    3
  • Git工作流实战-超级干货(3)

    Git工作流实战-超级干货(3)

    2021年5月24日
    262
  • threadlocal底层实现_什么是底层

    threadlocal底层实现_什么是底层ThreadLocal作用:提供线程内的局部变量,不同的线程之间不会相互干扰,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或组件之间一些公共变量传递的复杂性。package com.mupack;public class App{ private String content; public void setContent(String content) { this.content = content; } public Stri

    2022年8月9日
    5
  • eclipse使用–设置自动补全代码

    1、Java设置自动补全(1)设置自动补全依次点击Window–>Perferences(选项设置)–>Java–>Editor(编辑)–>ContentAssist(内容辅助/代码提示)然后在“ContentAssist”页面中,可以看到下面有一个AutoActivation中有一个Autoactivationtrigge…

    2022年4月4日
    783

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号