1. 找素数
素数就是不能再进行等分的整数。比如:7,11。而9不是素数,因为它可以平分为3等份。一般认为最小的素数是2,接着是3,5,...
请问,第100002(十万零二)个素数是多少?
请注意:“2”是第一素数,“3” 是第二个素数,依此类推。
不需要提交源代码,只要写出准确的结果即可!
答案写在:“解答.txt”中,不要写在这里。
参考答案:
1299743
递归方式的话递归层数太大程序无法运行
public class Main {
public static int judge(int x)
{
int i,j=0;
for(i=2;i<x;i++)
{
if(x%i==0)
{
j++;
break;
}
}
return j;
}
public static void sushu(int n,int i)
{
if(n==0)
{
System.out.println(i-1);
}
else if(judge(i)==0)
{
sushu(n-1,i+1);
}
else if(judge(i)==1)
{
sushu(n,i+1);
}
}
public static void main(String[] args) {
sushu(1002,2);
}
}
暴力循环求解:
public class Main {
public static int judge(int x)
{
int i,j=0;
for(i=2;i<x;i++)
{
if(x%i==0)
{
j++;
break;
}
}
return j;
}
public static void main(String[] args) {
int i=2,j=0;
for(i=2;j<100002;i++)
{
if(judge(i)==0)
{
j++;
}
}
System.out.print(i-1);
}
}