c语言求一个数是不是质素,C语言判断一个数是否是素数

素数又称质数。所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除。

思路1):因此判断一个整数m是否是素数,只需把m被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么m就是一个素数。

思路2):另外判断方法还可以简化。m不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~

aec53b32bb3b08d364145d13019e264e.gif 之间的每一个整数去除就可以了。如果m不能被 2 ~ 

aec53b32bb3b08d364145d13019e264e.gif间任一整数整除,m必定是素数。例如判别17是是否为素数,只需使17被2~4之间的每一个整数去除,由于都不能整除,可以判定17是素数。

原因:因为如果m能被 2 ~ m-1 之间任一整数整除,其二个因子必定有一个小于或等于

aec53b32bb3b08d364145d13019e264e.gif,另一个大于或等于

aec53b32bb3b08d364145d13019e264e.gif。例如16能被2,4,8整除,16=2*8,2小于4,8大于4,16=4*4,4=√16,因此只需判定在2~4之间有无因子即可。

思路1:

int IsPrime(int x)

{

int i,a ;

for(i=;i

{

a=x%i;

if(a==) //整除 说明不是素数 ,返回2,

{return ;break;}

}

if(i==(x-))//整个for循环结束,循环到最后也没整除,说明是素数 返回1

return ;

}

思路2:

int IsPrime2(int x)

{

int i,a ;

if(x==)return ;

for(i= int (sqrt(x));i>;i--) //从2到x-1看看能不能被整除

{

a=x%i;

if(a==) //整除 说明不是素数 ,返回2,

{return ;break;}

}

if(i==)//整个for循环结束,循环到最后也没整除,说明是素数 返回1

return ;

}

如何判断一个数是否为素数(zt)

怎么判断一个数是否为素数? 笨蛋的作法: bool IsPrime(unsigned n){    if (n<2)    { //小于2的数即不是合数也不是素数    throw 0;    ...

(Miller Rabin算法)判断一个数是否为素数

1.约定 x%y为x取模y,即x除以y所得的余数,当x

java判断一个数是否为素数[转]

http://blog.csdn.net/lwcumt/article/details/8027586 import java.util.Scanner; //质数又称素数,是指在一个大于1的自然数中 ...

C语言判断一个数能否被3和5整除

#include /* 判断一个数能不能同时被3和5整除 --------soulsjie 20170525----- */ void main(){ int inpu ...

python初学者-判断一个数是否为素数

while True: #判断为真 num = int(input('请输入一个数:')) for i in range(2,num):#判断在num之前的数能不能把num整除 if(num%i == ...

求大于整数m且紧靠m的k个素数 及 判断一个数是否为素数的方法

题目: 请编写一个函数void fun(int m,int k ,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入xx所指的数组中. 例如,若输入:17,5,则应输出:19,23 ...

c语言判断一个数是否为偶数

#include #include _Bool isOu(int n){ //高度注意:&的优先级低于== )==){ re ...

Java基础知识强化04:判断101~200之间有多少素数

1. 判断101~200之间有多少素数? package himi.hebao; /** * (1).编写函数isPrime()用来判断输入数据是否为素数 (2).遍历判断101~200之间的数据是否 ...

随机推荐

PHP+Apache+Zend Studio+MySql+Navicat+phpAdmin

本文章介绍整个PHP开发环境的搭建 数据库:MySql  5.5.50 数据库软件:Navicat 11.1.20和phpAdmin 4.6.5.1任选 php库:PHP 7.0.13 服务器:Apa ...

vim编辑二进制文件

首先,vim -b 方式打开二进制文件, 然后用 :%!xxd去展示二进制文件 再修改文件, 最后用 :%!xxd -r去还原文件原来的展示方式, 并保存退出.

OpenJudge-计算点的距离并排序

/*===================================== 距离排序 总时间限制: 1000ms 内存限制: 65536kB 描述 给出三维空间中的n个点(不超过10个),求出n个 ...

ReactJS 生命周期、数据流与事件

React是一个JavaScript库文件,使用它的目的在于能够解决构建大的应用和数据的实时变更.该设计使用JSX允许你在构建标签结构时充分利用JavaScript的强大能力,而不必在笨拙的模板语言上 ...

分享一个命令行计算器-bc

分享一个命令行计算器-bc 假如你在一个图形桌面环境中需要一个计算器时,你可能只需要一路进行点击便可以找到一个计算器.例如,Fedora 工作站中就已经包含了一个名为 Calculator 的工具.它 ...

[Swift]LeetCode276. 粉刷栅栏 $ Paint Fence

There is a fence with n posts, each post can be painted with one of the k colors. You have to paint ...

Aria2GUI 导出下载 刷新界面,任务消失

问题1. 2.勾选之后 导出下载 没了,神烦 解决方法解决方法1.点击分享, 2.创建链接 3.然后复制链接到网站,  下面是 下载 工具和 谷歌插件http://www.sdifen.com/ari ...

day08(异常处理,创建异常,finally,throws和throw的区别)

异常处理, 异常的产生  运行时异常:程序运行中产生的异常:RuntimeException类.   编译时异常:程序在编译时产生的异常:除了RuntimeException类  其他都是编译时产生的 ...

初涉RxAndroid结合Glide实现多图片载入操作

转载请注明出处:王亟亟的大牛之路 本来周末就想发了然后各种拖拉就没有然后了,那么就今天早上写吧,废话不多開始正题 什么是RxJava或者RxAndroid我就不多废话了,理论知识一大堆人给我们做好了. ...

LVS负载均衡服务

LVS负载均衡服务 LVS负载均衡调度技术是在Linux内核中实现的,因此被称为Linux虚拟服务器.使用LVS时,不能直接配置内核中的ipvs,而需要使用ipvs的管理工具ipvsadm进行管理. ...

你可能感兴趣的:(c语言求一个数是不是质素)