黑马程序员技术交流社区
标题:
一道笔试题,调试了很久才写出来,还需要进步啊!
[打印本页]
作者:
夏木南生
时间:
2015-10-7 21:59
标题:
一道笔试题,调试了很久才写出来,还需要进步啊!
package com.zsn.test1007;
import java.util.Scanner;
/*
* 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,0<n<=m<=200,
你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入格式:
两个整数,第一个表示n,第二个表示m。
输出格式:
一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入样例:
2 4
输出样例:
15
*
*
*/
public class CalcZhiShu {
public static void main(String[] args) {
int sum=0; //所求的素数的和
int n,m; //输入的2个数(n是第一个 m是第二个)
int mark =1; //记录第几个素数
System.out.println("请输入第一个数:");
Scanner sc =new Scanner(System.in);
n =sc.nextInt();
System.out.println("请输入第二个数:");
Scanner sc1 =new Scanner(System.in);
m =sc.nextInt();
if(n==1) sum+=2;
boolean IsZhiShu =false;
for(int i=2;;i++){
IsZhiShu=true;
if(mark>m){
break;
}
for (int j = 2;j<i; j++) {
if(i%j==0){
IsZhiShu=false;
break;
}
}
if(IsZhiShu==true){
if(mark>=n){
sum+=i;
}
mark++;
}
}
System.out.println(n+"到"+m+"之间的素数和是:"+sum);
}
}
复制代码
1.jpg
(33.5 KB, 下载次数: 11)
下载附件
2015-10-7 21:58 上传
输出
作者:
夏木南生
时间:
2015-10-7 22:01
输出应该是第二个到第五个素数的和...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2