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

时间限制:500ms内存限制:32000kb

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		@SuppressWarnings("resource")
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		int m = in.nextInt();
		int sum = 0;
		int sqt = 0;
		for (int i = 2; i <= 1224; i++) {
			for (int j = 2; j <= i; j++) {
				if (i % j == 0 && i / j != 1) {
					break;
				}
				if (j == i) {
					sqt++;
					if (n <= sqt && m >= sqt) {
						sum += i;
					}
				}
			}
		}
		System.out.println(sum);
	}
}

2、念整数(5分)

题目内容:

你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。

如输入1234,则输出:

yi er san si

注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:

fu er san si yi

输入格式:

一个整数,范围是[-100000,100000]。

输出格式:

表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。

输入样例:

-30

输出样例:

fu san ling

时间限制:500ms内存限制:32000kb

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		@SuppressWarnings("resource")
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		int m = 0;
		boolean b = true;
		String s = "";
		if (n < 0) {
			b = false;
			n = n * -1;
		}
		do {
			m = n % 10;
			n = n / 10;
			switch (m) {
			case 1:
				s = " yi" + s;
				break;
			case 2:
				s = " er" + s;
				break;
			case 3:
				s = " san" + s;
				break;
			case 4:
				s = " si" + s;
				break;
			case 5:
				s = " wu" + s;
				break;
			case 6:
				s = " liu" + s;
				break;
			case 7:
				s = " qi" + s;
				break;
			case 8:
				s = " ba" + s;
				break;
			case 9:
				s = " jiu" + s;
				break;
			case 0:
				s = " ling" + s;
				break;
			default:
				s = "?" + s;
			}
		} while (n != 0);
		if (b == false)
			s = "fu" + s;
		s = s.trim();
		System.out.println(s);
	}
}