import java.io.*;public class PrimeNumber{
public static void main(String args[]){
System.out.println("***prime number between 100 and 200***");
int i,j,k;
k=0;
for(i=1;i<=200;i=i+2){
for(j=1;j<=i;j++){
if(i%j==0)
k++;
}
if(k==2){
System.out.println(" "+i);
k=0;
}
}
}
}这样算素数不行么、哪里错了,大虾们指正下,非常感谢
public static void main(String args[]){
System.out.println("***prime number between 100 and 200***");
int i,j,k;
k=0;
for(i=1;i<=200;i=i+2){
for(j=1;j<=i;j++){
if(i%j==0)
k++;
}
if(k==2){
System.out.println(" "+i);
k=0;
}
}
}
}这样算素数不行么、哪里错了,大虾们指正下,非常感谢
for (int i = 101; i < 200; i = i + 2) {
//偶数肯定不是素数所以i = i + 2
for (int temp = 2; temp <= (int) Math.sqrt(i); temp++) {
//设定个临时变量temp 当temp<= i的开方的时候 temp++
if (i % temp == 0){
//如果i被temp整除, 说明i不是素数 break掉
break;
}
if(temp == (int) Math.sqrt(i)){
//如果i被一直不能被temp整除, 说明i是素数, 打印出来
System.out.println(i);
}
} }
public class Text2 {
public static void main(String args[]) {
for(int i=101;i<=200;i+=2){//直接排除101到200间的所有偶数
boolean f = true; //假设i为质数,f为真
for (int j=2;j<i;j++) {
if(i % j == 0){
f= false; //此种情况f为假
break;
}
}
if(!f) {continue;} //判断“非f”是否为真
System.out.print(i + " ");
}
}
}
import java.util.Scanner;public class PrimeNumber { private int prime;
boolean flag = true;
int[] gold; public PrimeNumber() {
} protected int setPrime() { Scanner _prime = null;
System.out.print("\n\t请输入要验证的正整数:");
_prime = new Scanner(System.in);
prime = _prime.nextInt(); if (prime <= 0) { System.out.print("\t"+prime + "不是正整数,素数只能是正整数的,请再来一次!\n");
setPrime(); } return prime; } protected void isPrime() { int = 0;
for (int i = 1; i <= prime; i++) { if (prime % i == 0) {
++;
} }
if ( > 2) { System.out.print("\t" + prime + "不是素数!\n\n"); } else { System.out.print("\t" + prime + "是素数!\n\n"); }
}检验一个数是不是素数的程序很久以前写的,写的不好,供LZ参考
import java.util.InputMismatchException;
import java.util.Scanner;public class PrimeNumber {private int prime;
boolean flag = true;
int[] gold;public PrimeNumber() {
}protected int setPrime() {Scanner _prime = null;
System.out.print("\n\t请输入要验证的正整数:");
_prime = new Scanner(System.in);
prime = _prime.nextInt();if (prime <= 0) {System.out.print("\t"+prime + "不是正整数,素数只能是正整数的,请再来一次!\n");
setPrime();}return prime;}protected void isPrime() {int = 0;
for (int i = 1; i <= prime; i++) {if (prime % i == 0) {
++;
}}
if ( > 2) {System.out.print("\t" + prime + "不是素数!\n\n");} else {System.out.print("\t" + prime + "是素数!\n\n");}
}
import java.util.InputMismatchException;
import java.util.Scanner;public class PrimeNumber {private int prime;
boolean flag = true;
int[] gold;public PrimeNumber() {
}protected int setPrime() {Scanner _prime = null;
System.out.print("\n\t请输入要验证的正整数:");
_prime = new Scanner(System.in);
prime = _prime.nextInt();if (prime <= 0) {System.out.print("\t"+prime + "不是正整数,素数只能是正整数的,请再来一次!\n");
setPrime();}return prime;}protected void isPrime() {int = 0;
for (int i = 1; i <= prime; i++) {if (prime % i == 0) {
++;
}}
if ( > 2) {System.out.print("\t" + prime + "不是素数!\n\n");} else {System.out.print("\t" + prime + "是素数!\n\n");}
}
public static void main(String args[]) {
for(int i=101;i<=200;i+=2){//直接排除101到200间的所有偶数
boolean f = true; //假设i为质数,f为真
for (int j=2;j<i/2;j++) {
if(i % j == 0){
f= false; //此种情况f为假
break;
}
}
if(!f) {continue;} //判断“非f”是否为真
System.out.print(i + " ");
}
}
}
public static boolean checkPrime(int num) {
if (num < 0)// 负数不是素数
return false;
if (num == 1 || num == 2)// 1和2是素数
return true;
for (int i = 2; i < Math.sqrt(num) + 1; i++) {
if (num % i == 0)
return false;
}
return true;
}
public static int getPrimeNum(int start, int end) {
int sum = 0;
for (int i = start; i <= end; i++) {
if (checkPrime(i) == true)// 是素数
{
System.out.print(i + " ");
sum++;
}
}
return sum;
}
public static void main(String args[]) {
int start = 1;
int end = 100;
int sum = getPrimeNum(start, end);
System.out.println("\n" + start + "~" + end + "间共有" + sum + "个素数!");
}
}
//简单明了!!
public class PrimeTest {
public static boolean checkPrime(int num) {
if (num < 0)// 负数不是素数
return false;
if (num == 1 || num == 2)// 1和2是素数
return true;
for (int i = 2; i < Math.sqrt(num) + 1; i++) {
if (num % i == 0)
return false;
}
return true;
}
public static int getPrimeNum(int start, int end) {
int sum = 0;
for (int i = start; i <= end; i++) {
if (checkPrime(i) == true)// 是素数
{
System.out.print(i + " ");
sum++;
}
}
return sum;
}
public static void main(String args[]) {
int start = 1;
int end = 100;
int sum = getPrimeNum(start, end);
System.out.println("\n" + start + "~" + end + "间共有" + sum + "个素数!");
}
}
//简单明了!!
import java.util.InputMismatchException;
import java.util.Scanner;public class PrimeNumber { private int prime;
boolean flag = true;
int[] gold; public PrimeNumber() { } protected int setPrime() { Scanner _prime = null;
System.out.print("\n\t请输入要验证的正整数:");
_prime = new Scanner(System.in);
prime = _prime.nextInt(); if (prime <= 0) { System.out.print("\t"+prime + "不是正整数,素数只能是正整数的,请再来一次!\n");
setPrime(); } return prime; } protected void isPrime() { int = 0;
for (int i = 1; i <= prime; i++) { if (prime % i == 0) {
++;
} }
if ( > 2) { System.out.print("\t" + prime + "不是素数!\n\n"); } else { System.out.print("\t" + prime + "是素数!\n\n"); }
}
public void showTips() { System.out
.print("\t*****************************************************************\n\n");
System.out.print("\t\t\t#\t GO----继续验证\t #\n");
System.out.print("\t\t\t#\t EXIT--退出程序\t #\n\n");
System.out.print("\t\t\t#\t GO,EXIT不区分大小写\t #\n\n");
System.out
.print("\t*****************************************************************\n"); } protected boolean isExit() { String isexit = null; showTips();
System.out.print("\t请选择您的下一步操作:");
Scanner _isexit = new Scanner(System.in);
isexit = _isexit.next();
if (isexit.equalsIgnoreCase("EXIT")) { flag = false;
System.out.print("\n\n\t程序已正常退出,拜拜"); return flag; } else if (isexit.equalsIgnoreCase("GO")) { flag = true; return flag; } else { flag = true; System.out.print("\t" + isexit + "不是程序的命令,请重新来过!\n\n"); isExit();
return flag;
} } public static void main(String[] args) { PrimeNumber primenumber = new PrimeNumber(); while (primenumber.flag) {
try { primenumber.setPrime();
primenumber.isPrime();
primenumber.isExit(); } catch (InputMismatchException ims) { System.out.print("\t您的输入与要求不一致,请确定后重新来过!\n\n"); }
}
}
}本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/XiaoHuanJie/archive/2009/09/14/4552651.aspx
getPrimeNum(int start,int end)获取start——end间有多少个素数,并把素数打印出来。
public class PrimeTest {
//判断一个整数num是否是素数
public static boolean checkPrime(int num) {
if (num < 0)// 负数不是素数
{return false;}
if (num == 1 || num == 2)// 1和2是素数
{return true;}
for (int i = 2; i < Math.sqrt(num) + 1; i++) {
if (num % i == 0){
return false;
}
}
return true;
}
//获取start——end间素数的个数,并打印出素数
public static int getPrimeNum(int start, int end) {
int sum = 0;
for (int i = start; i <= end; i++) {
if (checkPrime(i) == true)// 是素数
{
System.out.print(i + " ");
sum++;
}
}
return sum;
}
public static void main(String args[]) {
int start = 1;
int end = 100;
int sum = getPrimeNum(start, end);
System.out.println("\n" + start + "~" + end + "间共有" + sum + "个素数!");
}
}
//简单明了!!楼主还有什么不明白的吗?
public class PrimeTest{
// 判断一个整数num是否是素数
public static boolean checkPrime(int num) {
if (num < =0)// 负数和0不是素数
{
return false;
}
if (num == 1 || num == 2)// 1和2是素数
{
return true;
}
for (int i = 2; i < Math.sqrt(num) + 1; i++) {
if (num % i == 0) {
return false;
}
}
return true;
} // 获取start——end间素数的个数,并打印出素数
public static int getPrimeNum(int start, int end) {
int sum = 0;
for (int i = start; i <= end; i++) {
if (checkPrime(i) == true)// 是素数
{
System.out.print(i + " ");
sum++;
}
}
return sum;
} public static void main(String args[]) {
int start = 100;
int end = 200;
int sum = getPrimeNum(start, end);
System.out.println("\n" + start + "~" + end + "间共有" + sum + "个素数!");
}
}
// 简单明了!!楼主还有什么不明白的吗?运行结果如下:
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
100~200间共有21个素数!
还不结贴?