当前位置: 代码迷 >> Java相关 >> [求助]下面代码是实现输出1-100的所有素数
  详细解决方案

[求助]下面代码是实现输出1-100的所有素数

热度:75   发布时间:2007-04-19 23:54:52.0
[求助]下面代码是实现输出1-100的所有素数
class sushu
{
public static void main(String[] args)
{
for(int i=2;i<=100;i++){
for(int m=2;m<i;m++){
if(i%m==0){
break;
}
else{
System.out.print(i+" ");
break;
}

}
}
}
}
上面的代码为什么会输不出结果呢?要怎么改呢?
搜索更多相关的解决方案: 素数  代码  输出  

----------------解决方案--------------------------------------------------------

我运行正常啊.....


----------------解决方案--------------------------------------------------------
运行正常啊!但是不能输出预期的效果啊!
----------------解决方案--------------------------------------------------------
class sushu
{
public static void main(String[] args) {
int a;
for (int i = 2; i <= 100; i++) {
a = 0;
for (int m = 2; m < i; m++) {
if (i % m == 0) {
a = 1;
break;
}
}
if (a == 0) {
System.out.print(i+" ");
}
}
}
}
----------------解决方案--------------------------------------------------------
楼上的虽然可以输出正确的结果,但是楼主的为什么会错呢?错在哪里?
----------------解决方案--------------------------------------------------------

for(int i=2;i<=100;i++){
for(int m=2;m<i;m++){
if(i%m==0){
break;
}
else{
System.out.print(i+" ");
break;
}
你是在for(int m=2;m<i;m++)这个循环中输出的。而
public static void main(String[] args) {
int a;
for (int i = 2; i <= 100; i++) {
a = 0;
for (int m = 2; m < i; m++) {
if (i % m == 0) {
a = 1;
break;
}
}
if (a == 0) {
System.out.print(i+" ");
}
}
}
这个是在 for (int i = 2; i <= 100; i++) 这个循环中输出的。。
你写的那个是if (i % m == 0)不成立就输出。。。

----------------解决方案--------------------------------------------------------
回复:(syuanq)[求助]下面代码是实现输出1-100的所有...
class sushu
{
public static void main(String[] args)
{
for(int i=2;i<=100;i++)
{
for(int m=2;m<i;m++)
{
if(i%m==0)
{
break;
}
else
{
if(m==i-1)
{
System.out.print(i+" ");
}

}
}

}
}
}
----------------解决方案--------------------------------------------------------
  相关解决方案