美文网首页MOOC_零基础学Java程序员
第四周深入循环_素数和

第四周深入循环_素数和

作者: 掌灬纹 | 来源:发表于2019-04-01 11:32 被阅读16次

/**

* 素数和(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

*

较为规范的代码编写,将一小块知识点如题中对素数的判断另提出一个函数,在素数判断上做了一点小优化,只需判断2到根号n是否有数能被整除即可具体代码的规范如下

文本代码

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int n = sc.nextInt();//开始

int m = sc.nextInt();//结束

int res = 0;//结果

int count = 1;//第几个素数

int num = 2;//素数

while (count <= m) {

if (isPrime(num)) {//i是素数且在所取范围内

if(count >= n&&count <= m)

res += num;

count++;

}

num++;

}

System.out.println(res);

}

private static boolean isPrime(int num) {//检查2-根号n之间是否有能整数整除n,没有即为素数

for (int i = 2; i * i <= num; i++) {

if (num % i == 0)

return false;

}

return true;

}

}

相关文章

网友评论

    本文标题:第四周深入循环_素数和

    本文链接:https://www.haomeiwen.com/subject/pgwmbqtx.html