C语言判断一个数是否是质数

 我来答
花开勿败的雨季
2017-07-27 · TA获得超过1777个赞
知道小有建树答主
回答量:412
采纳率:66%
帮助的人:95.7万
展开全部
根据质数的定义,在判断一个数n是否是质数时,只要用1至n-1去除n,看看能否整除即可。
还有更好的办法:先找一个数m,使m的平方大于n,再用小于等于m的质数去除n(n为被除数),如果都不能整除,则n必然是质数。如我们要判断1993是不是质数,50*50>1993,那么只要用1993除以<50的质数看是否能整除,若不能即为质数。100以内的质数有25个,还是比较好记的,只要记熟100以内质数,就可以快速判断10000以内的数是不是质数。
100以内的质数有2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97,在100内共有25个质数。

只有1和它本身两个因数的自然数,叫质数(或称素数)。(如:由2÷1=2,2÷2=1,可知2的因数只有1和它本身2这两个约数,所以2就是质数。与之相对立的是合数:“除了1和它本身两个因数外,还有其它因数的数,叫合数。”如:4÷1=4,4÷2=2,4÷4=1,很显然,4的因数除了1和它本身4这两个因数以外,还有因数2,所以4是合数。)
听不清啊
高粉答主

2018-05-28 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

#include <stdio.h>
int main()
{int i,n;
 scanf("%d",&n);
 for(i=2;i*i<=n;i++)
   if(n%i==0)break;
 printf("%s\n",n%i==0?"No":"Yes");
 return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
prayliss
2018-05-30
知道答主
回答量:3
采纳率:0%
帮助的人:2170
展开全部
#include<stdio.h>

void main() {
int num, i;
scanf("%d", &num);
for (i = 2; i < num && num % i != 0; i++);
if (i != num) {
    printf("您输入的不是素数!\n");
}
else {
    printf("您输入的是素数!\n");
}
}

上面这个算法比较取巧

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式