JAVA:输出1-100之间的所有质数,写出一种可用算法步骤,开头已给出 50

publicclassGetkey{publicint[]getPrime(){——————(代码)————}}尽量优化算法,我的想法是除判断是否为质数以外,循环避开所有... public class Getkey {
public int[] getPrime(){
——————(代码)————
}
}
尽量优化算法,我的想法是除判断是否为质数以外,循环避开所有偶数,但是不知道这怎么实现
展开
 我来答
小融说房产
2018-07-07 · TA获得超过216个赞
知道小有建树答主
回答量:796
采纳率:86%
帮助的人:147万
展开全部
从1到50循环
然后让每一个数循环除23456789
如果这8次除的结果都不是整数或者=1,那么为质数
如果这8次除的结果有整数且不等于1,那么为合数,跳出此次循环
进行下一循环
算法不是最好,不过简单易懂
希望有帮助
百度网友73277c75
2018-07-07
知道答主
回答量:13
采纳率:50%
帮助的人:3.7万
展开全部
//既然返回的是int数组那我就返回数组吧,其实用集合更好
//不过既是质数又是偶数的,只有2吧

public static void main(String[] args) {
  int []a = getPrime();
 }
 
 private static int[] getPrime() {
  
  int []prime = new int[100];
  int index = 0;      //记录数组下标
  for (int i = 2; i <= 100; i++) {
   int temp = 0;     //记录能被整除的次数
   for (int j = 2; j < i; j++) {
    if (i%j==0) {    //能被第三个数整除,不是素数
     temp++;     //能被整除次数+1
    }
   }
   if ((temp==0) && (i%2!=0)) { //没有能被整除的第三个数(素数)  并且不能被2整除(不是偶数)
    prime[index] = i;
    index++;     //下标+1
   }
  }
  
  for (int i = 0; i < prime.length; i++) {
   System.out.println(prime[i]);
  }
  
  return prime;
 }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
辣颜久1Q
2018-07-07 · 超过28用户采纳过TA的回答
知道答主
回答量:190
采纳率:41%
帮助的人:41.6万
展开全部
月夜(刘方平)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式