题目内容:
我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入格式:
两个整数,第一个表示n,第二个表示m。
输出格式:
一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入样例:
2 4
输出样例:
15
时间限制:1000ms内存限制:64000kb
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
int sum = 0;
int count = 0;
if (0 < n && n <= m && m <= 200) {
for(int i =1;i<2000;i++){
if(isPrime(i)){
count++;
if(count>=n){
sum = sum +i;
}
}
if(count==m){
break;
}
}
} else {
return;
}
System.out.println(sum);
}
public static boolean isPrime(int n)
{
int i=0;
if(n < 2) return false;
if(n == 2) return true;
for(i = 2; i*i <= n; i++)
if(n%i == 0) return false;
return true;
}
}
题目内容:
你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。
如输入1234,则输出:
- yi er san si
注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:
- fu er san si yi
输入格式:
一个整数,范围是[-100000,100000]。
输出格式:
表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。
输入样例:
-30
输出样例:
fu san ling
时间限制:1000ms内存限制:64000kb
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
String[] yin = { "ling", "yi", "er", "san", "si", "wu", "liu", "qi",
"ba", "jiu" };
String fu = "fu";
Scanner in = new Scanner(System.in);
int n = in.nextInt();
if (n < -100000 || n > 100000) {
return;
}
StringBuilder sb = new StringBuilder();
if (n < 0) {
sb.append(fu + " ");
n = Math.abs(n);
}
int[] arr = new int[len(n)];
for (int i = arr.length - 1; i >= 0; i--) {
arr[i] = n % 10;
n /= 10;
}
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
sb.append(yin[arr[i]]);
} else {
sb.append(yin[arr[i]] + " ");
}
}
System.out.println(sb.toString());
}
public static int len(int n) {
int count = 0;
do {
n /= 10;
count++;
} while (n > 0);
return count;
}
}