
正文
JAVA多线程求素数代码 java多线程计数并输出
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java求素数代码
求1-N以内的所有素数,实现思路如下:
1、 得到1到n之间的素数,存到一个ArrayList集合。
2、判断一个数是不是素数:只能被1和本身整除
说明:从2开始除,不需要到n,也就是循环条件是 n 就可以,这之间只要被整除了,那么他就不是素数了。
3、设置主函数,运行 getPrimeNumberToN获取限定范围内的素数。
执行结果图:
扩展资料:
实现功能的编程事项:
1、模块化思想。
先拆分需求,先拆分先考虑怎么确定一个数是不是素数,然后再复用到所有。不能把方法堆到一起,否则无法复用代码。
2、注意注释。
就算是自己的测试代码,尽量写清楚注释,这样即使过了三个月,再看代码,也能清晰明了。不要觉得简单,就懒得注释。
3、注意参数命名。
从类名到方法名,再到变量名,都不能随意取名,关于这个命名,不要嫌弃长,重点是意思清楚明白。见名知意(语义化),是最好的。
相关问答
Q1: java编程,从键盘输入N个数,并输出素数的个数。
实现代码如下JAVA多线程求素数代码:
public class Su {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("输入个数:");
int[] arr = new int[in.nextInt()];
int num=0;
for (int i = 0; i arr.length; i++) {
System.out.print("输入第(" + (i + 1) + ")个数:");
arr[i] = in.nextInt();
if(getResult(arr[i])){
num+=1;
}
}
System.out.println("素数个数是:" + num);
}
public static boolean getResult(int num) {
boolean isPrime = true; // 定义布尔变量判断是否素数.是:true;否:false
int k = (int) Math.sqrt(num);
for (int j = 2; j = k; j++) {
if (num % j == 0) {
isPrime = false; // 如果能够有数整除i,那么就不是素数.
}
}
if (isPrime) {
isPrime = true;
}
return isPrime;
}
}
满意请采纳JAVA多线程求素数代码!
Q2: 利用Java编写应用程序求100以内的全部素数?
质数又称素数。一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数;否则称为合数。根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。下面是一个java求100之内的素数简单示例。
public class test {
public static void main(String[] args) {
int i,n,k=0;
for (n = 3; n=100; n++) { //3~100的所有数
i=2;
while (in) {
if (n%i==0) break; //若能整除说明n不是素数,跳出当前循环
i++;
}
if (i==n) { //如果i==n则说明n不能被2~n-1整除,是素数
k++; //统计输出数的个数
System.out.print(i+ "\t ");
if (k %6==0) //每输出5个则换行
System.out.println();
}
}
}
}
Q3: 编写java程序找出2-100之间的所有素数 求大神
素数又称质数,有无限个。素数定义为在大于1的整数中,除了1和它本身以外不再有其他因数的数称为素数。
java程序找出2-100之间的所有素数,代码如下:
public void findPrimeNumber(){
//存放素数集合
ListInteger lists=new ArrayListInteger();
//遍历2-100
for(int x=2;x100;x++){
//标志是否为素数,默认是true
boolean flag=true;
//循环x除以(x/2)的数,能整除则不是是素数(不包含2)
for(int y=2;yx/2;y++){
if(x%y==0){
//能整除,则把标志设置为false,不是素数
flag=false;
break;
}
}
if(flag){
//flag还是true,则是素数
lists.add(x);
}
}
System.out.println("2-100的素数集合:"+lists);
}
结果:
2-100的素数集合:[2, 3, 4, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
Q4: java编写求素数的方法,主方法中输入输出。 麻烦给个程序!!!!!
一般JAVA多线程求素数代码的求素数算法JAVA多线程求素数代码:
1234567891011121314151617181920212223242526
publicclassPrime
{
/*
*
* 一般求素数方法
*
* @param args
*/
publicstaticvoidmain(String[]args){for(inti=2; i100; i++)
{intj;for(j=2; j(int)(Math.sqrt(i)+1); j++)
{if(i%j==0){break;}} if(j(int)Math.sqrt(i)){System.out.print(i+" ");}} } }
筛法求素数JAVA多线程求素数代码:
12345678910111213141516171819202122232425262728293031
publicclassPrime2
{
/*
*
* 筛法求素数
*
* @param args
*/publicstaticvoidmain(String[]args)
{// TODO Auto-generated method stubintn=100;int[]array=newint[n];for(inti=2; i{if(array[i]!=0)
{intj, temp;}}}
关于JAVA多线程求素数代码和java多线程计数并输出的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







