给一个数,返回比它小的最大质数
今天,有个朋友说他们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));
}
}