第4周编程题(第一题)

素数和(5分)

题目内容:

我们认为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

package hello;

import java.util.Scanner;

public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new  Scanner(System.in);
		int n = in.nextInt();//第n个素数
		int m = in.nextInt();//第m个素数
		int a = 0;//素数计数器
		boolean s = true;//假如这个数是素数
		int number = 2;
		int end = 0;//结果
		if(n>0 && m<=200){
//			判断n和m是否满足输入要求
			do{
				for(int i = 2; i < number; i++){
					if(number % i == 0){
						s = false;
						break;
//						当number可以被1和number以外的数整除的时候结束循环
					}
				}
				if(s){
					a ++;
//			验证是否为素数,如果是则计数器加1
					if(a >= n && a <= m){
						end += number;
//					将满足条件的素数累加
					}
				}
				s = true;
				number ++;
//				重置s为true,number自加
			}while(a < m);
			System.out.print("第"+n+"个素数到第"+m+"个素数的和为:"+end);
//			输出
		}else{
			System.out.println("n和m的输入范围为0 < n <= m <= 200!");
		}
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值