IT_Stripling
2017-09-07 12:59
采纳率: 100%
浏览 920
已采纳

java 结果不显示 新人 求解 求解!!

求101-200之间的素数;
并输出个数;
package work;

public class work_3 {

public static void main(String[] args) {
    int i,n,a=0;
    for(i=101;i<=200;i++)
        for(n=2;n<=i;n++)
            {if(i%n<=1e-6)break;
            if(i==n)
                {a++;
                System.out.println(i);}}
    System.out.println(a);

}

}
结果只输出零
图片说明

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 锦鲤驾到 2017-09-08 02:51
    已采纳

    图片说明

    已采纳该答案
    打赏 评论
  • qq_40133928 2017-09-07 13:42

    你这算法有问题哦!你要先搞清楚素数的概念。。

    打赏 评论
  • qq_40133928 2017-09-07 13:52

    public static void main(String[] args) {

            for (int n = 100; n <= 200; n++) {
                // 判断n是否是质数
                int m = (int) Math.sqrt(n);
                int i = 2;
                for (; i <= m; i++) {
                    if (n % i == 0)
                        break;
                }
                if (i > m) {
                    System.out.print(n + " ");
                    if (++numOfPrime % 10 == 0)
                        System.out.println();
                }
            }
            System.out.println("\n共有" + numOfPrime + "个质数");
        }
    
    打赏 评论
  • linsa_pursuer 2017-09-07 15:42

    首先,新手注意个小问题哦,for后面的大括号请写清楚,素数除1跟本身以外的数,余数都不等于0。我也是新手,比你好一点,我博客里面都是新手的问题,最近在学习。

    打赏 评论
  • caiwa2008 2017-09-07 17:19

    上面的那个if(i==n)错了

    打赏 评论

相关推荐 更多相似问题