99乘法表 100内所有的质数
/*
九九乘法表
*/
class NineNineTable
{
public static void main(String [] args)
{
for (int i = 1;i<=9 ;i++ )
{
for (int j = 1;j <= i ;j++ )
{
System.out.print(i + "*" + j + " = " + (i*j) + " " );
}
System.out.println(" ");
}
}
}
/*
100以内所有质数的输出
质数:素数。*只能*被1和他本身整除的自然数 比如 1 3 5 11>从2开始到 这个数-1为止,否不能被这个数本身整除
最小的质数是2!!
*/
class PrimeNumberTest
{
public static void main(String[] args)
{
boolean isFlag = true;//标识i是否被j除尽,一旦除尽,就修改其值
for (int i = 2;i<=100 ;i++ )//遍历100以内的自然数
{
for (int j = 2;j < i ; j++)//j:被i去除
{
if (i%j == 0)//i被j除尽,证明j此时是一个约数,这个时候isFlag已经被改变了。
{
isFlag = false;
}
}
if (isFlag == true)
{
System.out.println(i);
}
//重置isFlag
isFlag = true;
}
}
}
输出质数的优化
/*
100以内所有质数的输出
质数:素数。*只能*被1和他本身整除的自然数 比如 1 3 5 11>从2开始到 这个数-1为止,否不能被这个数本身整除
最小的质数是2!!
对PrimeNumberTest.java的质数输出问题的优化
*/
class PrimeNumberTest1
{
public static void main(String[] args)
{
boolean isFlag = true;//标识i是否被j除尽,一旦除尽,就修改其值
int count = 0;//记录质数的个数
long start = System.currentTimeMillis();//获取当前时间距离1970-1-1 00:00:00的毫秒数
for (int i = 2;i<=100000 ;i++ )//遍历100以内的自然数
{
//优化二 开方 对本身是质数的自然数是有效的
for (int j = 2;j <=Math.sqrt(i); j++)//j:被i去除
{
if (i%j == 0)//i被j除尽,证明j此时是一个约数,这个时候isFlag已经被改变了。
{
isFlag = false;
break;//优化一:只对本身非质数的自然数是有效的
}
}
if (isFlag == true)
{
//System.out.println(i);
count++;
}
//重置isFlag
isFlag = true;
}
long end = System.currentTimeMillis();
System.out.println("所花费的时间为:" + (end - start));
}
}
优化2
class FamilyAccount
{
public static void main(String [] args)
{
label:for (int i = 2;i <100 ;i++ )
{
for (int j = 2;j <= Math.sqrt(i) ;j++ )
{
if (i%j == 0)
{
continue label;
}
}
System.out.println(i); }
}
}
//FamilyAccount
//long start = System.currentTimeMillis();
//long end = System.currentTimeMillis();