为了账号安全,请及时绑定邮箱和手机立即绑定

输出101到200的素数,为什么输出的答案不对

输出101到200的素数,为什么输出的答案不对

遇与余 2016-06-04 14:49:55
public class SUshu { public static void main(String[] args) { // TODO Auto-generated method stub int s=101; int m=2; for(;s<=200;s++){ for(;m<s;m++){ if(s%m==0){ System.out.println(s+"不是素數"); }else{ System.out.println(s+"是素數"); } } } }}
查看完整描述

4 回答

?
你是格林我是童话

TA贡献2条经验 获得超6个赞


你的算法有问题。

//img1.sycdn.imooc.com//5752de6e0001da4406440365.jpg

查看完整回答
2 反对 回复 2016-06-04
?
iMcLaren

TA贡献34条经验 获得超7个赞

算法首先有问题啊。。素数的定义再去看一下吧。。

查看完整回答
反对 回复 2016-06-04
?
梦影剑魂

TA贡献66条经验 获得超21个赞

public class Sushu {

	public static void main(String[] args) {
		int i=101;
		for(;i<=200;i++){
			for(int j=2;j<=i;j++){
				if(j==i){
					System.out.println(i+"是素数");
					break;
				}
				
					if(i%j==0){
					System.out.println(i+"不是素数");
					break;
					}
				
			}
		}
	}

}


查看完整回答
反对 回复 2016-06-04
?
梦影剑魂

TA贡献66条经验 获得超21个赞

你的程序算法就有问题,当s=102,进行第二次循环的时候,m已经等于100,而不是从2开始,所以后面的判断都出错,而且你不能只除以一个数,不能整除就判断它是素数,应该是等它把所有的数都除完才可以做出判断

查看完整回答
反对 回复 2016-06-04
  • 4 回答
  • 1 关注
  • 2064 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信