「java怎么产生素数」java求素数
本篇文章给大家谈谈java怎么产生素数,以及java求素数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java 求出100以内的素数
- 2、JAVA 求质数素数
- 3、java求素数问题
- 4、求教JAVA求素数
java 求出100以内的素数
package test;
public class SumPrime {
private static final int MAX=100;
public static void init(int[] num)//定义数组,里面装从1到100
{
int i=0;
for(;iMAX;i++)
{
num[i]=i+1;
}
}
public static int count(int[] num)//在程序运行后,计算素数个数
{
int n=0,i=0;
for(;iMAX;i++)
{
if(num[i]!=0)//非素数将被置零
n++;
}
return n;
}
public static void printf(int[] num)//输出所有素数,每10个转行一次
{
int i=0,n=0;
for(;iMAX;i++)
if(num[i]!=0)
{
System.out.print(num[i]+" ");
n++;
if(n%10==0)
System.out.println();
}
}
public static void main(String[] args)//主方法
{
int i=2,j=1;
int count;
int[] numbers = new int[MAX];
init(numbers);
while (jMAX)
{
if(numbers[j]!=0)
while (iMAX)
{
if(numbers[i]!=0)
{
if(numbers[i]%numbers[j]==0)
numbers[i]=0;//如果不是素数,置零
}
i++;
}
j++;
i=j+1;
}
count=count(numbers);
printf(numbers);
System.out.println();
System.out.println("ok,发现了"+count+"个素数");
}
}
楼主加分!
JAVA 求质数素数
public class Test {
public static void main(String[] args) {
getValues();
}
public static void getValues(){
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一个整数:");
try {
int num=Integer.parseInt(br.readLine());//从控制台获得输入的数据
String resultStr="";//结果字符串
boolean flag=false;//是否能被整除
for (int i = 2; i = num; i++) {//大循环是把每一个数拿出来
for (int j = 2; j i; j++) {//小循环是把当前拿出的这个数从2开始除直到这个数之前
if(i%j==0){flag=true;}//如果能被整除(没有余数)则标识给true
}
if(flag==false){resultStr+=i+" ";}//如果标识为false说明没被赋过值,也就是除了2和本身以外没别的数能除开,则给结果里外循环的当前这个数加入到输出字符串中
flag=false;//别忘了再给标识重设置为false为下次外循环做准备
}
System.out.println("2到"+num+"之间的所有质数有:"+resultStr);
br.close();
getValues();
} catch (Exception e) {
e.printStackTrace();
}
}
}
就是提供个思路,希望有用x_x
java求素数问题
你的逻辑有问题,好好看看。if(xx){xxx}else{xxxx}这个逻辑不对
你自己看,如果输入2,2的平方根比2小吧,你的下面的循环就不成立,所以直接结束。
如果输入 9,9的平方根是3,当i=2时,2《=3,先走if条件(9%2!=0)直接进入else{XX},当然会输出9不是素数,然后break。
你还是把循环知识再看看吧。
看上一回答,正确代码在那里,嫌我啰嗦直接跳过。
求教JAVA求素数
具我了解最小的素数是2的说,举例来说,求100以内的素数。
100以内的素数是:2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97。
所以我认为是这样的,虽然有些偷懒。
public class Test{
public static void main(String[] args) {
int s=1,i;
System.out.print("2 ");//请不要在意这里。。。
for (int n=3; n=100;n+=2){
for (i=3;i*2=n;i++){
if(n%i==0)
break;
}
if(i*2n)
{
s++;
System.out.print(n+" ");
}
}
}
}
关于java怎么产生素数和java求素数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。