急问:编写程序,从键盘输入一个整数n,如何判断此数是否是素数?
题目
急问:编写程序,从键盘输入一个整数n,如何判断此数是否是素数?
书上写的是:
让n被2到n-1中任何一个数整除,则说明n不是素数,否则n就是素数.(这句我懂)
实际上我们还可以获知,n如果不是素数的话,其最大因子是n的平方根,(开根号我不会打),所以只需让n被2到开根n之间的每个数除就可以判断了(这句我不懂.急,
想明白了.“其最大因子是n的平方根”这句话表达应该还是不对.应该怎么表达好呢?
答案
a * a = b
假设你先循环2到a,发现b都不能整除,这时你在循环a+1到a*a就没有意义了,因为b=a*a,所以b/(a+x)是肯定小于a的,而2到a已经循环过了不是吗?
不过一般代码里面都是循环2到b/2来求素数,比较方便
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
热门考点
- 1/4+1/12+1/24+1/40+……+1/19800=?
- 大楼后面有一个花园,你们可以在那裏种花 用英文翻译
- 黄河以它英雄的的气魄./多少英雄的故事,在你的身边扮演!英雄 的释义和用法是否一样
- How many days are there in a week?的中文意思是什么?
- (3x^2+1/2y-2/3y^2)(-1/2xy)^3
- When are you going to Shanghai?(改为同义句)
- 如图,已知在Rt△ABC中,∠ABC=90°,∠C=30°,AC=12cm,点E从点A出发沿AB以每秒1cm的速度向点B运动,同时点D从点C出发沿CA以每秒2cm的速度向点A运动,运动时间为t秒(0<
- in the morning of Monday还是on the morning of Monday
- 高中若二次函数f(x)的图像关于y轴对称,且-1≤f(1)≤2,3≤f(1)≤4,求f(3)的取值范围?
- 梯形的两个底边分别为3,9,两腰分别为4,6,一条平行于底边的直线把梯形的周长分成相等的两部分,那么这条直线将每条腰分成的线段之比是多少?