java吧 关注:1,270,318贴子:12,778,062
  • 7回复贴,共1

求解怎么把200以内最大的质数输出来啊

只看楼主收藏回复

public class Practice2
{
public static void main(String args[])
{
int j,b;
for (int i=2;i<=200;i++)
{
j=2;
while(i%j!=0)
{
j++;
}
if(i==j)
{
System.out.println(i);
}
}
}
}
这只能输出1-200内的质数,但是题目要求计算200以内的质数并输出最大的质数,有大神解答下吗,初学者


1楼2014-11-26 21:41回复
    有人解答下吗


    2楼2014-11-26 22:07
    回复
      2025-07-21 08:09:11
      广告
      if(i==j)那里再加个var来存
      先检查有没有比上次存的数大,有的话再覆写上去
      最后那个var就会只存最大数了.. 吧


      IP属地:中国台湾来自Android客户端3楼2014-11-26 22:28
      收起回复
        。。。。。。。。


        IP属地:浙江4楼2014-11-26 22:40
        回复
          int temp;
          ........
          if(i==j && i>temp)
          temp=i;
          电脑不在身边,你试一下


          IP属地:中国台湾来自Android客户端5楼2014-11-26 22:45
          收起回复
            public class prime{
            public static void main(String[] args) {
            for(int i=200;i>2;i--){
            if(new prime().isprime(i))
            {System.out.print(i+"\t");break;}}
            }
            public boolean isprime(int num){
            boolean flag =true;
            for(int i=2;i<Math.sqrt(num);i++){
            if(num%i==0){
            flag=false;break;}
            }
            if(flag)return true;
            else return false;
            }
            }


            6楼2014-11-26 22:52
            回复