第三章(循环) 编程题 3

题目内容:

我们认为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
posted @ 2015-12-23 23:15  濮玉朵朵  阅读(748)  评论(0编辑  收藏  举报