判断一个数是否为素数(质数) 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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python学得好、进监狱进的快_最经典的100部美剧,看到第一名瞬间服气!

    python学得好、进监狱进的快_最经典的100部美剧,看到第一名瞬间服气!(1999-Present)NBC80、摩登原始人TheFlintstones(1960-1966)ABC79、芝麻街SesameStreet(1969-Present)PBS78、奉子成婚MarriedwithChildren(1987-1997)Fox77、丑闻Scandal(2012-Present)ABC76、欢乐满屋FullHouse(1987-1995)…

    2022年9月30日
  • anaconda conda 切换为国内源 、windows 和 Linux配置方法、 添加清华源——【一文读懂】

    anaconda conda 切换为国内源 、windows 和 Linux配置方法、 添加清华源——【一文读懂】请问下载过程非常卡怎么办,特别特别慢;请问为什么我搭建一个深度学习环境半个多小时都没成,而你10分钟就随手搭建一个环境讲道理?这就像搬砖,搬的久了,还不能允许我一天多拉几车吗

    2022年5月24日
  • docker vscode远程调试_为什么要使用docker

    docker vscode远程调试_为什么要使用docker### 简介code server是一款开源的桌面软件vs code浏览器实现,可以让你随时随地的写代码,只要打开浏览器就可以进入到工作环境,将代码放在云端十分方便。### 安装流程只需要在docker环境下安装即可,输入如下命令安装即可,第一次安装会慢一点。dockerrun-itd–namemycode-p8081:8080-v/data/mycode:/home/coder/project-uroot-ePASSWORD=123

    2022年8月14日
  • Linux教程+操作系统教程

    Linux教程+操作系统教程.Linux入门教程http://c.biancheng.net/cpp/linux/基础教程Linux简介Linux文件管理Linux目录Linux文件权限和访问模式Linux环境变量Linux打印文件和发送邮件Linux管道和过滤器Linux进程管理Linux网络通信工具vi编辑器Linux文件系统Linux文件存储结构Linux用户管理Linux系统性能分析Linux系统日志及…

    2022年10月13日
  • map遍历的几种方式分别是什么「建议收藏」

    map遍历的几种方式分别是什么「建议收藏」map遍历的方式有4种1、使用for循环遍历map;2、使用迭代遍历map;3、使用keySet迭代遍历map;4、使用entrySet遍历map。java代码:Map<string

    2022年7月2日
  • Delphi中QuotedStr介绍及使用

    Delphi中QuotedStr介绍及使用delphi函数给字符串两边加单引号并返回.声明:functionQuotedStr(constS:string):string;用函数QuotedStr把字符串S转换成为用引号括起来的字符串。单引号”‘”将被插入到字符串s的最前和最后。例如:abc->’abc’

    2022年10月18日

发表回复

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

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