Java 素数和

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

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

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

输入样例

2 4

输出样例

15


解析
  注意看题目!!!,求得是第几个素数的和。素数2,3,5,7,……第二个素数是3,第四个是7, 3+5+7=15 3 + 5 + 7 = 15 ,刚开始我理解错了,以为是算2-4之间的素数的和(有兴趣可以看看我补充的)。


import java.util.Scanner;

public class Main {

    private static Scanner in;

    public static void main(String[] args) {
        in = new Scanner(System.in);
        int m=0,n=0;
        n=in.nextInt();
        m=in.nextInt();
        int k=2;
        int count=0,sum=0;
        while (k!=0) {
            Boolean flag=true;
            for(int i=2;i<=Math.sqrt(k);i++) {
                if(k%i==0) {
                    flag=false;break;
                }
            }
            if(flag==true)
            {
                count++;
                if (count>=n&&count<=m) {
                    sum+=k;
                }
                 if (count>m) {
                    break;
                }
            }
            k++;
        }
        System.out.print(sum);
    }
}

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

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

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

输入样例:

2 4

输出样例:

5

解析:
  这个题就不一样了,只写出两个数之间的素数,2,3,4中2和3是素数 2+3=5 2 + 3 = 5


import java.util.Scanner;

public class Main {

    private static Scanner in;
    public static void main(String[] args) {
        System.out.println("输入两个数a和b:");
        in= new Scanner(System.in);
        int a,b;
        a=in.nextInt();
        b=in.nextInt();
        int sum=0;
        if(a==1)
            a++;
        for(int i=a;i<=b;i++) {
            Boolean tmp=true;
            for(int j=2;j<i;j++) {
                if(i%j==0)
                {
                    tmp=false;
                    break;
                }
            }
            if(tmp==true)
            {
                sum+=i;
            }
        }
        System.out.println("a-b之间所有素数之和="+sum);
    }

}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ann's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值