给一个数,返回比它小的最大质数
今天,有个朋友说他们Java老师布置了一道题,要求写一个java程序,
已知一个数,然后给出比这个数小的最大质数。
起初给他写了这个asp的程序,希望他自己动手做出java版本的,
后来看他太笨,估计没怎么好好学,就把java的也写了。
<% Dim intNumber intNumber = 400000 If intNumber<>2 And intNumber mod 2 =0 Then intNumber=intNumber-1 End If
For i=intNumber To 1 step -1 bln=false m=cint(sqr(i)) For j=2 To m If i Mod j = 0 Then bln=true Exit For End If Next If Not bln Then Exit For Next Response.Write i %>
class ZhiShu { private static int getMaxZhiShu(int itmp) { if(itmp%2==0) itmp=itmp-1; boolean bln=false; int i1=0; int i=0; for(i=itmp;i>0;i-=2) { bln=false; i1=(int)Math.sqrt(i); for(int j=3;j<i1;j+=2) { if(i%j==0) bln=true; break; } if(!bln) break; } return i; } public static void main(String[] args) { System.out.println(getMaxZhiShu(100)); } }

|