java中计算出3~1000范围内最大的10个素数,将其放入数组中,计算其和。

要求最简单的。谢谢。... 要求最简单的。谢谢。 展开
 我来答
pifuzhiyong
推荐于2016-02-12 · TA获得超过815个赞
知道小有建树答主
回答量:530
采纳率:38%
帮助的人:144万
展开全部
写一个判断是否是素数的方法

boolean isPrime(int n)
{
if (n<=1) return false;
int temp=(int)(Math.sqrt(n)+0.001);
for (int i=2; i<=temp; i++)
if (n%i==0) return false;
return true;
}
然后从1000往回看是不是素数就是了
比如存在a[10]里
int a[]=new int[10];
int len=0;
int j=1000;
while (len<10)
{
while (!isPrime(j)) j--;
a[len++]=j;
j--;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
韦涵涵
2009-04-01 · TA获得超过3892个赞
知道大有可为答主
回答量:1034
采纳率:100%
帮助的人:1506万
展开全部
package help;

public class SumPrime {

public static boolean isPrime(int n) {
if (n <= 1)
return false;
int temp = (int) (Math.sqrt(n) + 0.001);
for (int i = 2; i <= temp; i++)
if (n % i == 0)
return false;
return true;
}

// 然后从1000往回看是不是素数就是了
public static void main(String args[]) {

int a[] = new int[10];
int len = 0;
int j = 999;
while (len < 10) {
while (!SumPrime.isPrime(j))
j-=2;
a[len++] = j;
j-=2;
}
int sum=0;
for(int i=0;i<10;i++){
sum+=a[i];
}
System.out.println("3~1000范围内最大的10个素数之和:"+sum);

}

}

楼主难道不觉得这个才真正满足了您的需求吗??
因为素数不可能是偶数...所有循环的时候用 j-=2 可以少比较很多的数据噢!
更好的提高效率嘛!!而且也做到了求和的目的... 呵呵....

祝楼主早日成功!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
neverslip
2009-04-01 · TA获得超过742个赞
知道答主
回答量:179
采纳率:0%
帮助的人:98.4万
展开全部
最简单的,在网上查找素数的序列,存入数组中,使用时直接遍历查找
至于素数序列的产生,程序自己编就好了,如果你真的需要的话,很简单,效率都差不多的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c518556
2009-04-02 · 超过10用户采纳过TA的回答
知道答主
回答量:148
采纳率:0%
帮助的人:51.7万
展开全部
不错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式