急求一个随机产生一个大素数的代码,要求产生的素数的位数可以手动输入来确定,回答好的加50分,决不食言

 我来答
chenxiaofeier
2011-06-14 · TA获得超过633个赞
知道答主
回答量:52
采纳率:0%
帮助的人:61.4万
展开全部
//大素数是什么意思?
import java.util.Random;
import java.util.Scanner;

public class Test {

// 判断是否是素数
public static boolean isPrime(int m) {
boolean f = true;
for (int i = 2; i < m / 2; i++) {
if (m % i == 0) {
f = false;
break;
}
}
return f;
}

public static void main(String[] args) {
System.out.print("请输入素数的位数并按回车键:");
Scanner s = new Scanner(System.in);
int cou = s.nextInt();
int form = (int) Math.pow(10, (cou - 1));
int to = (int) Math.pow(10, cou);

// 查出所有素数,最多一百个
int[] a = new int[100];
for (int i = 0; i < a.length; i++) {
a[i] = 0;
}
int sum = 0;
for (int i = form; i < to; i++) {
if (isPrime(i)) {
if (sum < 100) {// 最多100个
a[sum] = i;
sum++;
}
}
}
System.out.println("产生的随机" + cou + "位素数为:"
+ a[new Random().nextInt(sum)]);
}
}
更多追问追答
追问
大素数就是位数达到50位或者更大的素数,每次运行只需要随机产生一个就行了,哥么你上面的代码太简单了,这个是最基础最慢的算法了
追答
姐们,你早说啊!浪费我时间……
另外一个周之内我要不再回复你,就说明我水平就这般了……你也别等我答案了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
07二班高级菜鸟
2011-06-14 · TA获得超过341个赞
知道小有建树答主
回答量:159
采纳率:100%
帮助的人:246万
展开全部
这个很麻烦啊,如果是位数特别多的话判断是不是质数就要好长时间。有个方法:可以随机产生素数的每一位数,然后拼接起来,到网上搜个大素数判定算法就好了。但是大素数的确定是很困难的,比较快的办法通常也不稳定。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Jseven_jy
2011-06-14 · TA获得超过8122个赞
知道大有可为答主
回答量:2499
采纳率:100%
帮助的人:1142万
展开全部
是用什么语言写呢?
追问
C或者C++都行,大素数就是位数为50位或者更大的素数,拜托了,速度啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式