黑马程序员技术交流社区
标题:
此代码求100之内的素数,求高手指点,谢谢
[打印本页]
作者:
穆帆
时间:
2015-9-25 22:39
标题:
此代码求100之内的素数,求高手指点,谢谢
public class Demo {
public static void main(String[] args) {
int i, j;
for (i = 2; i <= 100; i++){//循环1
for (j = 2; j < i; j++){//循环2
if (i % j== 0)
break;
}
if(j<i)
continue;
这里是什么意思,j不是一直是小于i吗?为什么还需要做判断?
else
System.out.print(i+"、");
}
}
}
作者:
月影千华
时间:
2015-9-25 22:53
/*
题目:判断101-200之间有多少个素数,并每五个一行,输出所有素数。
思路:用一个数除以2到它自身前一位数,如果能被整除,说明不是素数,否则就是素数。
*/
class Sushu
{
public static void main(String[] args)
{
int x,y,count=0;
for (x=101;x<=200 ;x++ )
{
//boolean flag=true;
for (y=2;y<x ;y++ )
{
if(x%y==0)
{
//flag=false; //判断一个数是不是素数,如果不是,显示结果为错误。
break;
}
}
if (y>x/2) // 如果结果不是错误,计数器加一次。
// 因为false会判断出很多次,但true只有一次。
{
//System.out.println(x);
count++;
}
}
System.out.println("101到200之间一共有"+count+"个数是素数,它们分别是:");
count=0;
for (x=101;x<=200 ;x++ )
{
// boolean flag=true;
for (y=2;y<=x/2 ;y++ )
{
if(x%y==0)
{
//flag=false;
break;
}
}
if (y>x/2)
{
/*
for (int l=1;l<=5 ;l++ )
{
for (int i=1;i<=l ;i++ )
{
System.out.print("x="+x+" ");
}
System.out.print("\n");
*/
System.out.print("x="+x+"\t"); //用count来进行5行一换行的打印。
if (++count%5==0)
{
System.out.println();
}
}
}
System.out.println();
}
}
复制代码
这题我刚进基础班时也做过哈哈,当时是这么做的。。。里面注释掉的都是开始写上去了后来觉得多余又改掉的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2