用JAVA编写一个求1到N所有素数的程序

用java编程:输入一个正整数n,输出n以内的所有素数。代码怎么写?~

public class HelloWorld { public static void main(String[] args) { System.out.println("请输入一个正整数n"); Scanner input = new Scanner(System.in); int n = input.nextInt(); for (int i = 2; i <= n; i++) // 1不是素数,所以直接从2开始循环 { int j = 2; while (i % j != 0) { j++; // 测试2至i的数字是否能被i整除,如不能就自加 } if (j == i) //当有被整除的数字时,判断它是不是自身,若是,则说明是素数 { System.out.println(i); // 如果是就打印出数字 } } }}

import java.util.Scanner;

/**
*
* 素数:能被1和他本身整除的数
* 思路,就是我们用一个循环获得1-n的全部数,
* 然后在里面的个学会中判断这个数与他前面的
* 数是不是能整出如果能我们就跳到外部循环的下一个数继续判断,
* 如果不能则是素数。我们打印后跳到外部循环的下一条记录
*
*/
public class PrimeNumber {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入n的值:");
int n=sc.nextInt();
System.out.println(n+"内的素数为:");
loop: for (int i = 2; i < n; i++) {
for (int j = 2; j < i; j++) {
if (i % j == 0) {
continue loop;
}
}
System.out.print(" " + i);
}
}
}

public class ZH
{
public static void main(String args[])
{
int i,j,count=0;
for(i=2;i<1000;i++)
{
for(j=2;j<=i/2;j++)
{
if(i%j==0) break;
}
if(j>i/2)
{
System.out.print(" "+i);
count++;
}
if(count%5==0)
System.out.println();
}
}
}
这是1~1000之间的质数求法,N你看着改变就行了,你看看能不能解决你的问题

bauble1213的算法效率高一点

输出形式可能与你的要求不一样,自己改改,很简单!!!

public class SuShu {

public static void main(String[] args) {

String ch = null;

try {
BufferedReader br = new BufferedReade(
new InputStreamReader(System.in));
System.out.println("请输入节点数据:");
ch = br.readLine();
} catch (Exception e) {
e.printStackTrace();
}

int num = Integer.paseInt(ch);
for(int i = 0; i<num; i++) {
int n = i;
int k = (int) Math.sqrt(n);
int i;
for(i = 2; i<=k; i++) {
if(n % i ==0) {
break;
}
}
if(i > k) {
System.out.println(n+"是素数!");
} else {
System.out.println(n+"不是素数!");
}
}
}

}

public static void function8(){
System.out.println("请输入范围:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m =0;
for (int i = 2; i <n; i++) {
int num = 0;
for (int j = 2; j <= i; j++) {
if (i % j == 0) {
num++;
}
}
if (num == 1) {
System.out.print(i + " \t");
m++;
if (m % 5 == 0) {
System.out.println();
}
}
}
}

嘻嘻
=====================================
//for循环 打印1~n间的所有质数
import java.util.Scanner;

public class ForExec2是质数{
public static void main(String[] args){
System.out.println("======》打印1~n间的所有质数《======");
System.out.print("请输入一个数字(整数):");
Scanner sc=new Scanner(System.in);//获取文本扫描器
int x = sc.nextInt();//使输入整数保存在x
int[] zhishu = new int[5];
int n=1;
System.out.println("1--"+x+"的质数如下:");
for(int i = 1;i <= x;i++){
//调用isZhiShu(int number)方法,返回true,进行打印操作。
if(isZhiShu(i)){
if(n%5==0){
System.out.println(" ");
System.out.println(i+"\t");
n++;
}else{
System.out.print(i+"\t");
n++;
}
}
}
}

public static boolean isZhiShu(int number){//判断是否是质数的方法
if(number==1){
return false;
}
for(int i = 2;i<number;i++){
if(number%i == 0){
return false;
}
}
return true;
}
}
==================================
效果:
===============================

======》打印1~n间的所有质数《======
请输入一个数字(整数):111
1--111的质数如下:
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
101 103 107 109 请按任意键继续. . .

!!!!我屏幕上是5个一行,百度的事

Java中如何定义一个方法求1+2+...+n的和,从控制台输入一个整数求1至...
答:public int calSum(int n){ int rtn =0;for(int i=1 ; i<=n;i++){ rtn+=i;} return rtn;}

求一个java连续奇数相加的小程序编程码。从键盘输入n 求1+3+5+...
答:import java.util.Scanner;public class 累加{private static Scanner sc=new Scanner(System.in);public static void main(String[] args) {System.out.println("\n\t\t===累加和===\n");init();}//初始化!private static void init(){for (; ; ){add(input());}}//录入键盘值!pri...

用java编写一个程序求1!+2!+...10!
答:用Java编程写程序求1!+2!+...10!,只需用两个循环层,第一个循环是阶乘值相加,第二个循环是获取阶乘值,如下:public class TestD {public static void main(String[] args){//1!+2!+3!+···+10!就是1到10阶乘值的和int sum=0;//循环10次for(int x=1;x<=10;x++){//阶乘初...

java编程,有n个人围成一圈,顺序排号,从一号到n号,从第一个开始报数...
答:这么经典的面向对象题目 以下代码仅供参考 import java.util.Scanner;public class Main {public static void main(String[] args) {int n;Scanner scanner = new Scanner(System.in);System.out.println("请输入一个正整数:");n = scanner.nextInt();scanner.close();PersonQuan personQuan = ...

高手们用java编写一个程序,求1!+2!+...+n!的和
答:Java程序:import java.util.Scanner;public class Test25 { public static void main(String[] args) { Scanner scan = new Scanner(System.in);int i, n;long f, sum;System.out.print("n : ");n = scan.nextInt();f = 1;sum = 0;for(i=2; i<=n; i++){ f *= i;sum +...

用JAVA编写一个求1!+2!+3!+..+10!的程序然后输入三个数升序排列 ,用for...
答:下面的程序经测试完全满足你的要求,集两个功能于一体 --- import java.util.*;public class Jiecheng{ public static void main (String[] args) { long acc=1,sum=0;int[]arr=new int[3];int i,j;for(i=1;i<=10;i++){ for(j=1;j<=i;j++){ acc*=j;} sum+=acc;acc=1...

java:用户输入一个整数 n(不大于 100000),用“筛选法”以 5 个一行输 ...
答:import java.util.Scanner;public class Test { public static void main (String[] args) { Scanner sc=new Scanner(System.in);byte[] bs=new byte[100001];int n,t,c=1;n=sc.nextInt();t=(int)Math.sqrt(n)+1;for(int i=2;i<t;i++) { if(0==bs[i])for(int j=i+1;j...

。使用JAVA编写一个程序求出一个整数的所有因子的和
答:以下是一个使用Java编写的程序,用于求出一个整数的所有因子的和:在这个程序中,首先从用户那里获取一个整数输入。然后,使用一个循环来遍历从1到该整数的所有整数。对于每个整数,如果它是该整数的因子(即该整数除以该整数的余数为0),则将该整数加到总和中。最后,输出所有因子的和。例如,如果用户...

java 给出一个整数N,输出10个数字:(1--N之间含有多少0,1,2,3,4,5...
答:String inputTip = "please input N numbers:";System.out.println(inputTip);String N = "0";try{while(!( N = (br.readLine()).trim() ).matches("^[1-9]\\d+|\\d$")){System.out.println(inputTip);}}catch(IOException e){e.printStackTrace();}// from 1 to NString ...

求java中随机生成1到n之间不同的t个整数的方法
答:(Math.random()*numbers.size());rtnumbers[j]=numbers.get(raNum);numbers.remove(raNum);} return rtnumbers;} 思路就是一开始把数放到一个list中,然后根据随机生成下标数raNum,从list中取出数放到rtnumbers中,再把list中的这个数删除,以便达到不重复目的. 楼上几个写的根本不对,不知所云 ...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网