题目内容:
我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入格式:
两个整数,第一个表示n,第二个表示m。
输出格式:
一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入样例:
2 4
输出样例:
15
我的答案:
1
2 import java.util.Scanner;
3
4 public class Main {
5
6 public static void main(String[] args) {
7 // TODO Auto-generated method stub
8
9 Scanner in = new Scanner(System.in);
10
11
12 int n = in.nextInt();
13 int m = in.nextInt();
14 in.close();
15
16 int i,j=2 ;
17
18 int count = 0;
19 int sum = 0;
20
21 while(count<m)
22 {
23 int isPrime = 1;
24 for (i=2;i<j;i++)
25 {
26 if ( j%i == 0)
27 {
28 isPrime = 0;
29 break;
30 }
31 }
32 if ( isPrime ==0)
33 {
34 // System.out.println( j + "不是素数");
35 }
36 else
37 {
38 System.out.println( j + "是素数");
39 sum = sum + j;
40 count = count + 1;
41 }
42 j++;
43 }
44
45
46 j = 2;
47 i = 2;
48 count = 0;
49 int sum2 = 0;
50 while(count<(n-1))
51 {
52 int isPrime = 1;
53 for (i=2;i<j;i++)
54 {
55 if ( j%i == 0)
56 {
57 isPrime = 0;
58 break;
59 }
60 }
61 if ( isPrime ==0)
62 {
63 // System.out.println( j + "不是素数");
64 }
65 else
66 {
67 System.out.println( j + "是素数");
68 sum2 = sum2 + j;
69 count = count + 1;
70 }
71 j++;
72 }
73 System.out.println(sum-sum2+ ",sum= " + sum + " , sum2= " + sum2);
74
75
76 }
77
78 }
79