1.统计在1~100之间所有素数的个数
public class PrimeNumber_1{
public static void main(String[]args)
{
int x;
int y=100;
boolean flag=false;
System.out.println("1~100之间的素数有:");
for(x=1;x<=y;x++,flag=false)
{
for(int i=2;i<=Math.sqrt(x);i++)
{
if(x%i==0)
{flag=true;break;};
}
if(flag==false)
{System.out.print("\t"+x);};
}
System.out.println();
}
}会输出素数,但不知怎么统计,希望大家给小妹指点指点
public class PrimeNumber_1{
public static void main(String[]args)
{
int x;
int y=100;
boolean flag=false;
System.out.println("1~100之间的素数有:");
for(x=1;x<=y;x++,flag=false)
{
for(int i=2;i<=Math.sqrt(x);i++)
{
if(x%i==0)
{flag=true;break;};
}
if(flag==false)
{System.out.print("\t"+x);};
}
System.out.println();
}
}会输出素数,但不知怎么统计,希望大家给小妹指点指点
public static void main(String[]args)
{
int x;
int y=100;
int count=0;
boolean flag=false;
System.out.println("1~100之间的素数有:");
for(x=2;x <=y;x++,flag=false)
{
for(int i=2;i <=Math.sqrt(x);i++)
{
if(x%i==0)
{flag=true;break;};
}
if(flag==false)
{
count++;
System.out.print("\t"+x);};
}
System.out.println("\nThere are "+count+" PrimeNumbers from 1 to 100" );
}
}
public class PrimeNumber_1{
public static void main(String[] args) {
int x;
int y = 100;
boolean flag = false;
System.out.println("1~100之间的素数有:");
for (x = 1; x <= y; x++, flag = false) {//每次判断一个数后,都要把flag标志位重新置位
for (int i = 2; i <= Math.sqrt(x); i++) {//判断一个数能否被从2开始,一直到小于它的平方根的整数整除
if (x % i == 0) { //能够整除说明不是素数
flag = true;
break;
}
}
if (flag == false) {
System.out.print("\t" + x);
}
}
}
}
public class PrimeNumber_1{
public static void main(String[] args) {
int x;
int y = 100;
int count = 0;
boolean flag = false;
System.out.println("1~100之间的素数有:");
for (x = 2; x <= y; x++, flag = false) {//从2开始就可以, 每次判断一个数后,都要把flag标志位重新置位
for (int i = 2; i <= Math.sqrt(x); i++) {// 判断一个数能否被从2开始,一直到小于它的平方根的整数整除
if (x % i == 0) { // 能够整除说明不是素数
flag = true; break;
}
}
if (flag == false) {
count++; // 素数加1
System.out.print("\t" + x);
}
}
System.out.println();
System.out.println("1~100之间的素数有" + count + "个");
}
}
因为你的条件是
i <= Math.sqrt(x)
我来一个吧:带标记的continue语句
outer:
for(int i=1;i<MAX_VALUE;i++){
int half = (int)Math.sqrt(i);
for(int j=2;j<=half;j++){
if(i%j==0)continue outer;
}
System.out.println(i);
}