要求前一百个素数
程序是用JAVA写的,没有语法问题,编译通过,就是结果不是要求的结果
结果是:
-2147483647
-2147483645
-2147483643
-2147483641
-2147483639
-2147483637
-2147483635
-2147483633
-2147483631
-2147483629
-2147483627
-2147483625
-2147483623
-2147483621
-2147483619
-2147483617
-2147483615
-2147483613
-2147483611
-2147483609
-2147483607
-2147483605
-2147483603
-2147483601
-2147483599
-2147483597
-2147483595
-2147483593
-2147483591
-2147483589
-2147483587
-2147483585
-2147483583
-2147483581
-2147483579
-2147483577
-2147483575
-2147483573
-2147483571
-2147483569
-2147483567
-2147483565
-2147483563
-2147483561
-2147483559
-2147483557
-2147483555
-2147483553
-2147483551
-2147483549
-2147483547
-2147483545
-2147483543
-2147483541
-2147483539
-2147483537
-2147483535
-2147483533
-2147483531
-2147483529
-2147483527
-2147483525
-2147483523
-2147483521
-2147483519
-2147483517
-2147483515
-2147483513
-2147483511
-2147483509
-2147483507
-2147483505
-2147483503
-2147483501
-2147483499
-2147483497
-2147483495
-2147483493
-2147483491
-2147483489
-2147483487
-2147483485
-2147483483
-2147483481
-2147483479
-2147483477
-2147483475
-2147483473
-2147483471
-2147483469
-2147483467
-2147483465
-2147483463
-2147483461
-2147483459
-2147483457
-2147483455
-2147483453
-2147483451
-2147483449
-2147483447
我的代码是:
public class Prime
{
public static int j=0;
public static void printPrimes(int k)
{
for(int i=2;i!=0;i++)
{
if(isPrime(i))
{
j+=1;
System.out.println(i);
}
if(j>k)
break;
else
continue;
}
}
public static boolean isPrime(int a)
{
if (a%2==0)
{
return false;
}
else
{
for (int p=1;p<a;p++ )
{
if(a%p==0)
return false;
}
return true;
}
}
public static void main(String[] args)
{
printPrimes(100);
}
}
public static void printPrimes(int k) {
for (int i = 2; i <= k; i++) {
if (isPrime(i)) {
System.out.println(i);
}
}
}
public static boolean isPrime(int a) {
if (a % 2 == 0) {
return false;
} else {
for (int p = 3; p < a; p++) {//修改后的
if (a % p == 0)
return false;
}
return true;
}
}
public static void main(String[] args) {
printPrimes(100);
}