gpt4 book ai didi

java - 在java中查找m到n之间的素数显示以下错误

转载 作者:行者123 更新时间:2023-12-02 12:16:49 24 4
gpt4 key购买 nike

我一直在解决一个问题,该问题需要输入 m 和 n 并打印 m 到 n 之间的所有素数。

当我在 ideone.com Online IDE 中运行时,我获得了成功,并且我的代码运行完全正常,但这里的问题是它需要几乎 4864MB 内存

https://ideone.com/oXcfeC

转到链接并检查内存空间。程序很短而且没那么复杂,为什么要占用那么多内存。`

import java.util.*;
import java.lang.*;
import java.io.*;
public class Ideone
{
static class FastReader
{
BufferedReader br;
StringTokenizer st;

public FastReader()
{
br = new BufferedReader(new
InputStreamReader(System.in));
}

String next()
{
while (st == null || !st.hasMoreElements())
{
try
{
st = new StringTokenizer(br.readLine());
}
catch (IOException e)
{
e.printStackTrace();
}
}
return st.nextToken();
}

int nextInt()
{
return Integer.parseInt(next());
}

long nextLong()
{
return Long.parseLong(next());
}

double nextDouble()
{
return Double.parseDouble(next());
}

String nextLine()
{
String str = "";
try
{
str = br.readLine();
}
catch (IOException e)
{
e.printStackTrace();
}
return str;
}
}

public static void main (String[] args) throws java.lang.Exception
{
// your code goes here
FastReader s=new FastReader();
int t = s.nextInt();
while(t!=0)
{
int m = s.nextInt();
int n = s.nextInt();
for(int i = m; i<=n; i++)
{



int cnt = 0;
if( (i>2 && i%2 ==0) || (i>3 && i%3==0) || (i>5 && i%5==0) || (i>7 && i%7 ==0) || (i>11 && i%11 ==0))
{
continue;
}
for(int j=1;j <=i; j++)
{
if(i%j ==0)
{
cnt++;
}
}
if(cnt ==2)
{
System.out.println(i);
}
cnt = 0;
}
System.out.println("");
t--;
}
}
}

最佳答案

我在 ideone 中运行了“hello, world”,它给我的内存使用量为 4386816KB。所以我怀疑 ideone 中的内存使用情况是否说明了您的代码是否有用。

关于java - 在java中查找m到n之间的素数显示以下错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46109081/

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