没做出来啊,原来有这么多方法啊。
首先,我连质数是什么都不知道!
质数:只能被本身和1整除的数
帖子里回复了不少方法:
class Zhishu
{
public static void main(String[] args)
{
int count=0;
for(int i=1;i<=100;i++)
{
count=0;
for(int j=1;j<=i;j++)
{
if(i%j==0)
{
count++;
}
}
if(count==2||count==1)
{
System.out.print(i+" ");
}
}
}
}package com.ms.test;
public class GetSushu {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int x=100;x<=999;x++){
boolean flag=true;
for(int y=2;y<x;y++){
if(x%y==0){
flag=false;
break;
}
}
if(flag){
System.out.println(x);
}
}
}
}判断某一个三位数是否是质数
import java.util.Scanner;
public class PrimeNum {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个三位数");
int num = sc.nextInt();
if(num<100 || num>999)
throw new RuntimeException("输入数据不合要求");
getPrime(num);
}
public static void getPrime(int num){
for(int x=2;x<num;x++){
if(num%x!=0){
if(x==num-1){
System.out.println(num+"是质数");
}
continue;
}
else{
System.out.println(num+"不是质数");
break;
}
}
}
}列出所有介于100到你输入的三位数中的质数(不包含100)
import java.util.Scanner;
public class TotalPrimeNum {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个三位数");
int num = sc.nextInt();
if(num<100 || num>999)
throw new RuntimeException("输入数据不合要求");
getPrime(num);
}
public static void getPrime(int num){
int count = 0;//计数器记录质数个数
W:for (int x = 101; x <= num; x++) {
Q:for (int y = 2; y < x; y++) {
if(x%y!=0){
if(y==x-1){
System.out.print(x+"\t");
count++;
continue W;
}
continue Q;
}
else{
continue W;
}
}
}
System.out.println();
System.out.println("101到"+num+"共有质数个数为:"+count);
}
}原文地址:http://sesedese.blog.51cto.com/9595075/1585738