怎样用Java求1~10000中的所有质数最简便的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用Java求1~10000中的所有质数最简便的方法相关的知识,希望对你有一定的参考价值。

运用java8新特性stream来解决

参考以下代码

/**
 * IntStream.range(1,10001) :获取一个stream,是从1-10000的
 * filter: 取出stream每个数字进行过滤,比如选取数字300,则再构造一个stream,从2-299,依次用300取余2-299中的数,若有一个是整除,余数为0的话,这个数字就不是我们要找的质数,跳过
 * forEach:打印经过filter过滤后的stream中的每个数
 */
IntStream.range(1,10001).filter(outerInt-> !IntStream.range(2,outerInt).anyMatch(innerInt->outerInt%innerInt==0))
                        .forEach(System.out::println);

参考技术A public class Sushu
public static void main(String []args)

boolean flag;
int a=1;
System.out.print("1到10000的素数有:");
for(int i=1;i<10000;i++)

flag=true;
// 用1到10000的数来除以自己的平方根,
// 如果能除尽的话就不是素数
for(int j=2;j<Math.sqrt(i);j++)

if(i%j==0)

flag=false;
break;


//如果是素数的话flag=true;以下的是每行
//输出10个数
if(flag)

if(a%10==0)
System.out.println();
System.out.print(i+" ");
a++;




参考技术B 上楼的程序有误,运行结果不正确,你可以运行看看,下面是我将他的程序修改了之后的,我经过调试的,完全正确。

for(int j=2;j<i/2;j++) //这里是我修改的,将他的程序Math.sqrt(i)修改为i/2;

你可以分别将这两个程序运行一下,他上面程序运行的结果里有好多数不是素数,你可以验证验证。
参考技术C public class Primary
public static void main(String[] args)
int i=0;
for(i=2;i<=10000;i++)
if(getPrimary(i)==true)
System.out.print(i+" ");




public static boolean getPrimary(int i)
int max=i/2+1;
for(int n=2;n<max;n++)
if(i%n==0)
return false;


return true;

怎样求数组中元素重复的次数

c或C++求如a[8]=1,3,1,1,1,2,3,4; 算出来的结果是6

参考技术A 计算数组中某个元素重复出现的个数 js返回一个数组某值出现的次数输入:一个数组中某个元素的值输出:需要计算该元素在数组中重复出现的个数l 参考技术B

    如何统计数组中每个元素重复次数 PHP 中的 array_count_values() 函数可以实现 array_count_values() 函数用于统计数组中所有值出现的次数。 本函数返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数。 array_count_valu...

参考技术C 如何统计数组中每个元素重复次数 PHP 中的 array_count_values() 函数可以实现 array_count_values() 函数用于统计数组中所有值出现的次数。 本函数返回一个数组... 参考技术D 断元素和输入值相同是count++ 3、因为要求 “时间复杂度要求小于o(n)” 第5个回答  2021-11-09 判断元素和输入值相同是count++ 3、因为要求 “时间复杂度要求小于o(n)”

以上是关于怎样用Java求1~10000中的所有质数最简便的方法的主要内容,如果未能解决你的问题,请参考以下文章

求100以内的所有质数(素数) 要求:用VB的for语句写

AcWing 196. 质数距离 二次筛法

求大神,c语言怎么用for循环语句输出1到100的所有质数,我这么做结果出来的是2到100的所有数

java基础实例用if和for求输入的数是否为质数

Java求100以内的质数的四种方法

查找10000以内的质数