女青年与西西 2017-07-28 09:35 采纳率: 0%
浏览 1517

java求素数和,请教指错

题目内容:
我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

输入格式:
两个整数,第一个表示n,第二个表示m。

输出格式:
一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

输入样例:
2 4

输出样例:
15

import java.util.Scanner;

public class C3ex4 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
    Scanner in = new Scanner(System.in);
    int n = in.nextInt();
    int m = in.nextInt();
    int x; // 200以内的素数;
    int count = 1; //素数排名第几个;
    int sum = 0; //总和
    int flag = 0; //标记合数,一旦出现大于0,则出现合数,则不算在排名内
    if (n == 1)
    {
        sum = 2;
    }
    for(x = 2; x <= 200; x++)
    {
        int w = 2;
        while (w < x)
        {
            if (x % w == 0)
            {
                flag++;
            }
            else
            {
                w++;    
            }           
        }
        if (flag == 0)
        {
            count++;
        }
        if (count >= n && count <= m)
        {
            sum = sum + x;
        }   
    }
    System.out.print(sum);
    in.close();
}
}

想知道这个错在哪里

  • 写回答

2条回答 默认 最新

  • 75闪光雷 2017-07-28 09:45
    关注

    我觉得你的n和m的值是一样的
    你输入1,他们都等于1,
    你在输入2,他们都等于2

    评论

报告相同问题?

悬赏问题

  • ¥15 matlab实现基于主成分变换的图像融合。
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊