素数和



题目内容:

我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。

现在,给定两个整数nm0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

输入格式:

两个整数,第一个表示n,第二个表示m

输出格式:

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

输入样例:

2 4

输出样例:

15

时间限制:1000ms内存限制:64000kb

Java程序

---------------

import java.util.Scanner;

public class Main {

  public static boolean isPrime(int n) {

     boolean flag = true;

     if(n <= 1)

        flag = false;

     else if(n == 2)

        flag = true;

     else if(n % 2 == 0)

        flag = false;

     else {

        int limit = (int)(Math.sqrt(n)) + 1;

        for(int i = 3; i <= limit; i += 2){

           if(n % i == 0) {

              flag = false;

 break;

           }

        }

     }

     return flag;

  }

  public static void main(String[] args) {

     Scanner in = new Scanner(System.in);

     int n = in.nextInt();

     int m = in.nextInt();

     int count = 1;

     int[] a = new int[201];     

     for(int i = 2; count <= m; ++i) {

        if (isPrime(i)) {

           a[count] = i;

           ++count;

        }

     }

     int sum = 0;

     for(int i = n; i <= m; ++i)

        sum += a[i];

     System.out.println(sum);

  }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值