Java 素数和

论坛 期权论坛 脚本     
匿名技术用户   2020-12-22 15:17   121   0

题目内容
  我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
  现在,给定两个整数n和m,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,刚开始我理解错了,以为是算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,你的程序要计算第n个数到第m个数之间所有的素数的和,包括第n个数和第m个数。

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

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

输入样例:

2 4

输出样例:

5

解析:
  这个题就不一样了,只写出两个数之间的素数,2,3,4中2和3是素数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);
    }

}
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP