gpt4 book ai didi

java - 程序寻找小于100的最后三个素数

转载 作者:行者123 更新时间:2023-11-30 05:22:55 25 4
gpt4 key购买 nike

我正在尝试打印最后三个小于 100 的素数。如果我打印小于 10 的素数,则工作正常。但当我尝试打印少于 100 时,它无法正常工作。我不知道为什么。你能告诉我一种打印最后三个数字的有效方法吗?

int[] a = new int[100];
int flag=0,c=0,i=2,j=2;
int n=10;
while(i <= n)
{
flag=0;
while(j<=i/2)
{
if(i%j==0)
{
flag=1;
break;
}
j++;
}
if(flag==0)
{
a[c]=i;
c++;
}
i++;
}
for(i=0;i<c;i++)
{
c--;
System.out.print(a[c]+" ");
}

最佳答案

首先,您必须重新初始化变量 j 和 flag。

while(i <= n) {
//...

if(flag==0) {
a[c]=i;
c++;
}
i++;
j = 2;
}

你可以像这样显示最后三个素数

for(i = c-1; i >= c-3; i--) {
System.out.print(a[c]+" ");
}

或者您可以使用此代码

int numToShow = 3, n = 100;
boolean isPrime = true;

while(n > 1 && numToShow > 0) {
for (int j = 2; j <= (int) Math.sqrt(n) && isPrime; j++) {
if(n % j == 0) {
isPrime = false;
}
}

if (isPrime) {
System.out.print(n + " ");
numToShow--;
}

isPrime = true;
n--;
}

关于java - 程序寻找小于100的最后三个素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59233991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com