---
title : iTSA 線上題庫 - 基礎題目
tags : 大學雜物
description : iTSA 線上題庫 - 基礎題目
---
題庫連結:[iTSA 線上題庫 - 基礎題目](https://e-tutor.itsa.org.tw/e-Tutor/)
:::info
**二進制轉換**
* 負數轉正數:-num + 256
**複數運算**
* 加:a + c, b + d
* 減:a - c, b - d
* 乘:a * c - b * d, b * c + a * d
* 除:(a * c + b * d) / (c ^ 2 + d ^ 2), (b * c - a * d) / (c ^ 2 + d ^ 2)
:::
| 方法| 說明 |
| --- | --- |
| str1.equals(str2) | str1 = str2 |
| str.charAt(index) | str -> char |
| str.substring(begin, end) | 返回開始到結束間的子字串 |
| str.trim() | 清除字串前後空格 |
| BigInteger | 大整數 |
| BigNum1.add(BigNum2) | BigNum1 + BigNum2 |
| Math.max(num1, num2) | 回傳兩者的最大值 |
| Math.min(num1, num2) | 回傳兩者的最小值 |
## 題目1. 矩陣數字顯示
```java
import java.util.Scanner;
public class Q1 {
static String[] star = {
"***** ",
"* * ",
"* ",
" * "
};
public static void s1 (String[] n) {
for (String i : n) {
switch (i) {
case "0", "2", "3", "5", "6", "7", "8", "9" -> System.out.print(star[0]);
case "1" -> System.out.print(star[3]);
case "4" -> System.out.print(star[1]);
}
}
System.out.println();
}
public static void s2 (String[] n) {
for (String i : n) {
switch (i) {
case "0", "4", "8", "9" -> System.out.print(star[1]);
case "1", "2", "3", "7" -> System.out.print(star[3]);
case "5", "6" -> System.out.print(star[2]);
}
}
System.out.println();
}
public static void s3 (String[] n) {
for (String i : n) {
switch (i) {
case "0" -> System.out.print(star[1]);
case "1", "7" -> System.out.print(star[3]);
case "2", "3", "4", "5", "6", "8", "9" -> System.out.print(star[0]);
}
}
System.out.println();
}
public static void s4 (String[] n) {
for (String i : n) {
switch (i) {
case "0", "6", "8" -> System.out.print(star[1]);
case "1", "3", "4", "5", "7", "9" -> System.out.print(star[3]);
case "2" -> System.out.print(star[2]);
}
}
System.out.println();
}
public static void s5 (String[] n) {
for (String i : n) {
switch (i) {
case "0", "2", "3", "5", "6", "8" -> System.out.print(star[0]);
case "1", "4", "7", "9" -> System.out.print(star[3]);
}
}
System.out.println();
}
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
String[] n = sc.nextLine().split("");
s1(n);
s2(n);
s3(n);
s4(n);
s5(n);
sc.close();
}
}
```
## 題目2. 英哩轉公里
```java
import java.util.Scanner;
public class Q2 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
double m = sc.nextInt() * 1.6;
System.out.printf("%.1f\n", m);
sc.close();
}
}
```
## 題目3. 判斷座標是否在圓形的範圍內
```java
import java.util.Scanner;
public class Q3 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int y = sc.nextInt();
System.out.println(x * x + y + y > 10000 ? "outside" : "inside");
sc.close();
}
}
```
## 題目4. 停車費計算
```java
import java.util.Scanner;
public class Q4 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int s = sc.nextInt() * 60 + sc.nextInt();
int t = sc.nextInt() * 60 + sc.nextInt() - s;
int m = 0;
if (30 <= t && t < 120) {
m = t / 30 * 30;
} else if (120 <= t && t < 240) {
m = 120 + ((t - 120) / 30 * 40);
} else if (240 <= t) {
m = 280 + ((t - 240) / 30 * 60);
} else {
m = 0;
}
System.out.println(m);
sc.close();
}
}
```
## 題目5. 十進制轉二進制
```java
import java.util.Scanner;
public class Q5 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String ans = "";
n = n < 0 ? n + 256 : n;
while (n > 0) {
ans = n % 2 + ans;
n /= 2;
}
int l = ans.length();
for (int i = 0; i < 8 - l; i ++) {
ans = 0 + ans;
}
System.out.println(ans);
sc.close();
}
}
```
## 題目6. 季節判定
```java
import java.util.Scanner;
public class Q6 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
switch (sc.nextInt() / 3) {
case 1 -> System.out.print("Spring");
case 2 -> System.out.print("Summer");
case 3 -> System.out.print("Autumn");
default -> System.out.print("Winter");
}
sc.close();
}
}
```
## 題目7. 複數運算
```java
import java.util.Scanner;
public class Q7 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
for (int i = 0; i < sc.nextInt(); i ++) {
String op = sc.next();
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int d = sc.nextInt();
switch (op) {
case "+" -> System.out.printf("%s %s\n", a + c, b + d);
case "-" -> System.out.printf("%s %s\n", a - c, b - d);
case "*" -> System.out.printf("%s %s\n", a * c - b * d, b * c + a * d);
case "/" -> System.out.printf("%s %s\n", (a * c + b * d) / (c * c + d * d), (b * c - a * d) / (c * c + d * d));
}
}
sc.close();
}
}
```
## 題目8. 質數判別
```java
import java.util.Scanner;
public class Q8 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
boolean f = true;
for (int i = 2; i < n; i ++) {
if (n % i == 0) {
f = false;
break;
}
}
System.out.println(f ? "YES" : "NO");
sc.close();
}
}
```
## 題目9. 計算正整數被3整除之數值之總和
```java
import java.util.Scanner;
public class Q9 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sum = 0;
for (int i = 1; i <= n; i ++) {
if (i % 3 == 0) {
sum += i;
}
}
System.out.println(sum);
sc.close();
}
}
```
## 題目10. 輾轉相除法
```java
import java.util.Scanner;
public class Q10 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int t = 0;
while (b != 0) {
t = b;
b = a % b;
a = t;
}
System.out.println(t);
sc.close();
}
}
```
## 題目11. 矩陣反轉
```java
import java.util.Scanner;
public class Q11 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int h = sc.nextInt();
int l = sc.nextInt();
int[][] arr = new int[h][l];
for (int i = 0; i < h; i ++) {
for (int j = 0; j < l; j ++) {
arr[i][j] = sc.nextInt();
}
}
for (int i = 0; i < l; i ++) {
for (int j = 0; j < h; j ++) {
System.out.print(arr[j][i] + " ");
}
System.out.println();
}
sc.close();
}
}
```
## 題目12. 遞迴程式練習
```java
import java.util.Scanner;
public class Q12 {
public static int f (int n) {
return n > 1 ? f(n - 1) + f(n / 2) : n + 1;
}
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print(f(sc.nextInt()));
sc.close();
}
}
```
## 題目13. 撲克牌大小
```java
import java.util.*;
public class Q13 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = Integer.parseInt(sc.nextLine());
String[] ans = new String[n];
for (int i = 0; i < n ; i ++) {
ans[i] = "";
}
for (int i = 0; i < n; i ++) {
String[] arr = sc.nextLine().split(" ");
String[][] card = new String[2][arr.length];
for (int j = 0; j < arr.length; j ++) {
card[0][j] = arr[j].substring(0, 1);
card[1][j] = arr[j].substring(1);
}
for (int j = 0; j < arr.length; j ++) {
for (int k = 0; k < arr.length; k ++) {
char a = card[0][k].charAt(0);
char b = card[0][j].charAt(0);
if (a > b || a == b && Integer.parseInt(card[1][k]) > Integer.parseInt(card[1][j])) {
String t1 = card[0][k];
String t2 = card[1][k];
card[0][k] = card[0][j];
card[0][j] = t1;
card[1][k] = card[1][j];
card[1][j] = t2;
}
}
}
for (int j = arr.length - 1; j >= 0; j --) {
ans[i] += String.format("%s%s ", card[0][j], card[1][j]);
}
}
for (String i : ans) {
System.out.println(i.trim());
}
sc.close();
}
}
```
## 題目14. 判斷是否為迴文
```java
import java.util.Scanner;
public class Q14 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
String b = "";
for (String i : a.split("")) {
b = i + b;
}
System.out.println(a.equals(b) ? "YES" : "NO");
sc.close();
}
}
```
## 題目15. 文字及字母出現次數
```java
import java.util.Scanner;
public class Q15 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
String[] s = sc.nextLine().toLowerCase().split(", |,|\\.| ");
int[] ans = new int[26];
for (String i : s) {
for (int j = 0; j < i.length(); j ++) {
ans[i.charAt(j) - 'a'] ++;
}
}
System.out.println(s.length);
for (int i = 0; i < 26; i ++) {
if (ans[i] != 0) {
System.out.printf("%c : %d\n", i + 'a', ans[i]);
}
}
sc.close();
}
}
```
## 題目16. 子字串出現次數
```java
import java.util.Scanner;
public class Q16 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
String k = sc.next();
String s = sc.next().toLowerCase();
int ans = 0;
for (int i = 0; i <= s.length() - k.length(); i ++) {
if (k.equals(s.substring(0 + i, k.length() + i))) {
ans ++;
}
}
System.out.println(ans);
sc.close();
}
}
```
## 題目17. 英文斷詞
```java
import java.util.Scanner;
public class Q17 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
String[] s = sc.nextLine().toLowerCase().split(" ");
String ans = "";
for (int i = 0; i < s.length; i ++) {
Boolean flag = true;
for (String t : ans.split(" ")) {
if (s[i].equals(t)) {
flag = false;
break;
}
}
if (flag) {
ans += s[i] + " ";
}
}
System.out.println(ans.trim());
sc.close();
}
}
```
## 題目18. QWERTY
```java
import java.util.Scanner;
public class Q18 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
String[] k = sc.nextLine().toLowerCase().split("");
String[] d = "`1234567890-==~!@#$%^&*()_++qwertyuiop[]\\\\{}||asdfghjkl;'':\"\"zxcvbnm,.//<>?? ".split("");
String ans = "";
for (String i : k) {
for (int j = 0; j < d.length; j ++) {
if (d[j].equals(i)) {
ans += d[j + 1];
break;
}
}
}
System.out.println(ans);
sc.close();
}
}
```
## 題目19. 最少派車數
```java
import java.util.Scanner;
public class Q19 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] t = new int[24];
for (int i = 0; i < n; i ++) {
int a = sc.nextInt();
int b = sc.nextInt();
for (int j = a - 1; j < b - 1; j ++) {
t[j] ++;
}
}
n = 0;
for (int i : t) {
n = Math.max(n, i);
}
System.out.println(n);
sc.close();
}
}
```
## 題目20. 大整數加法
```java
import java.util.Scanner;
import java.math.BigInteger;
public class Q20 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
BigInteger[] b = new BigInteger[n];
for (int i = 0; i < n; i ++) {
b[i] = sc.nextBigInteger().add(sc.nextBigInteger());
}
for (BigInteger i : b) {
System.out.println(i);
}
sc.close();
}
}
```
## 題目21. 最大值與最小值
```java
import java.util.Scanner;
public class Q21 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
float max = sc.nextFloat();
float min = max;
for (int i = 0; i < 9; i ++) {
float n = sc.nextFloat();
max = Math.max(max, n);
min = Math.min(min, n);
}
System.out.printf("maximum:%.2f\nminimum:%.2f\n", max, min);
sc.close();
}
}
```
## 題目22. 圈圈叉叉
```java
import java.util.Scanner;
public class Q22 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int[][] n = new int[3][3];
for (int i = 0; i < 3; i ++) {
for (int j = 0; j < 3; j ++) {
n[i][j] = sc.nextInt();
}
}
int i = 0;
while (i < 3) {
if (n[i][0] == n[i][1] && n[i][1] == n[i][2]) {
break;
} else if (n[0][i] == n[1][i] && n[1][i] == n[2][i]) {
break;
}
i ++;
}
if (i == 3) {
if (n[0][0] == n[1][1] && n[1][1] == n[2][2]) {
System.out.println("True");
} else if (n[2][0] == n[1][1] && n[1][1] == n[0][2]) {
System.out.println("True");
} else {
System.out.println("False");
}
} else {
System.out.println("True");
}
sc.close();
}
}
```
## 題目23. 找零錢問題
```java
import java.util.Scanner;
public class Q23 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
String[] s = sc.next().split(",");
int n = Integer.parseInt(s[0]);
int t = Integer.parseInt(s[1]) * 15 + Integer.parseInt(s[2]) * 20 + Integer.parseInt(s[3]) * 30;
if (t < n) {
n -= t;
System.out.printf("%d,%d,%d\n", n % 50 % 5, n % 50 / 5, n / 50);
} else {
System.out.println("0");
}
sc.close();
}
}
```
## 題目24. 計算複利
```java
import java.util.Scanner;
public class Q24 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
double r = sc.nextFloat();
double sum = 0;
long n = sc.nextInt();
long p = sc.nextInt();
for (int i = 0; i < n; i ++) {
sum += p;
sum *= 1 + r;
}
System.out.printf("%.0f\n", sum);
sc.close();
}
}
```
```java
import java.math.*;
import java.util.Scanner;
public class Q24 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
BigDecimal sum = new BigDecimal("0");
BigDecimal r = sc.nextBigDecimal();
int n = sc.nextInt();
BigDecimal p = sc.nextBigDecimal();
for (int i = 0; i < n; i ++) {
sum = (sum.add(p)).multiply(r.add(new BigDecimal("1")));
}
System.out.println(sum.toBigInteger());
sc.close();
}
}
```
## 題目25. 字串之編碼數值總和
```java
import java.util.Scanner;
public class Q25 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = Integer.parseInt(sc.nextLine());
int[] ans = new int[n];
for (int i = 0; i < n; i ++) {
String s = sc.nextLine();
for (int j = 0; j < s.length(); j ++) {
ans[i] += s.charAt(j);
}
}
for (int i : ans) {
System.out.println(i);
}
sc.close();
}
}
```
## 題目26. 各位數和排序
```java
import java.util.Scanner;
public class Q26 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[][] arr = new int[2][n];
String ans = "";
for (int i = 0; i < n; i ++) {
arr[0][i] = sc.nextInt();
for (int j = arr[0][i]; j != 0; j /= 10) {
arr[1][i] += j % 10;
}
}
for (int i = 0; i < n; i ++) {
for (int j = 0; j < n; j ++) {
if (arr[1][i] < arr[1][j] || arr[1][i] == arr[1][j] && arr[0][i] < arr[0][j]) {
int t1 = arr[0][j];
int t2 = arr[1][j];
arr[0][j] = arr[0][i];
arr[0][i] = t1;
arr[1][j] = arr[1][i];
arr[1][i] = t2;
}
}
}
for (int i : arr[0]) {
ans += i + " ";
}
System.out.println(ans.trim());
sc.close();
}
}
```
## 題目27. 猜數字
```java
import java.util.Scanner;
public class Q27 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
String[] ans = sc.next().split("");
String s = sc.next();
while (!"0000".equals(s)) {
String[] n = s.split("");
int a = 0;
int b = 0;
for (String i : n) {
for (String j : ans) {
if (i.equals(j)) {
b ++;
}
}
}
if (b != 0) {
for (int i = 0; i < ans.length; i ++) {
if (n[i].equals(ans[i])) {
a ++;
b --;
}
}
}
System.out.printf("%sA%sB\n", a, b);
s = sc.next();
}
sc.close();
}
}
```
## 題目28. 統一發票對獎
```java
import java.util.Scanner;
public class Q28 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int[] ans = new int[7];
int sum = 0;
String s = "";
int t = sc.nextInt();
int[] h = new int[] {
sc.nextInt(),
sc.nextInt(),
sc.nextInt()
};
int n = sc.nextInt();
for (int i = 0; i < n; i ++) {
int num = sc.nextInt();
if (num == t) {
ans[0] ++;
sum += 2000000;
}
for (int j : h) {
if (num == j) {
ans[1] ++;
sum += 200000;
} else if (num % 10000000 == j % 10000000) {
ans[2] ++;
sum += 40000;
} else if (num % 1000000 == j % 1000000) {
ans[3] ++;
sum += 10000;
} else if (num % 100000 == j % 100000) {
ans[4] ++;
sum += 4000;
} else if (num % 10000 == j % 10000) {
ans[5] ++;
sum += 1000;
} else if (num % 1000 == j % 1000) {
ans[6] ++;
sum += 200;
}
}
}
for (int i : ans) {
s += i + " ";
}
System.out.printf("%s\n%d", s.trim(), sum);
sc.close();
}
}
```
## 題目29. 身分證驗證器
```java
import java.util.Scanner;
public class Q29 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
String[] a = new String[] {
"A", "B", "C", "D", "E", "F", "G", "H", "J", "K",
"L", "M", "N", "P", "Q", "R", "S", "T", "U", "V",
"X", "Y", "W", "Z", "I", "O"
};
String s = sc.next();
int[] x = new int[2];
int ans;
for (int i = 0; i < a.length; i ++) {
if (a[i].equals(s.substring(0, 1))) {
x[0] = (i + 10) / 10;
x[1] = (i + 10) % 10;
break;
}
}
int j = 8;
ans = x[0] + 9 * x[1];
for (int i = 1; i < s.length(); i ++) {
ans += (s.charAt(i) - '0') * j;
j -= j > 1 ? 1 : 0;
}
System.out.println(ans % 10 == 0 ? "CORRECT!!!" : "WRONG!!!");
sc.close();
}
}
```
## 題目30. 星座查詢
```java
import java.util.Scanner;
public class Q30 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
int d = sc.nextInt();
switch (m) {
case 1 -> System.out.println(d >= 21 ? "Aquarius" : "Capricorn");
case 2 -> System.out.println(d >= 19 ? "Pisces" : "Aquarius");
case 3 -> System.out.println(d >= 21 ? "Aries" : "Pisces");
case 4 -> System.out.println(d >= 21 ? "Taurus" : "Aries");
case 5 -> System.out.println(d >= 22 ? "Gemini" : "Taurus");
case 6 -> System.out.println(d >= 22 ? "Cancer" : "Gemini");
case 7 -> System.out.println(d >= 23 ? "Leo" : "Cancer");
case 8 -> System.out.println(d >= 24 ? "Virgo" : "Leo");
case 9 -> System.out.println(d >= 24 ? "Libra" : "Virgo");
case 10 -> System.out.println(d >= 24 ? "Scorpio" : "Libra");
case 11 -> System.out.println(d >= 23 ? "Sagittarius" : "Scorpio");
case 12 -> System.out.println(d >= 22 ? "Capricorn" : "Sagittarius");
}
sc.close();
}
}
```
## 題目31. 過半元素
```java
import java.util.*;
public class Q31 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
String[] s = sc.nextLine().split(" ");
int[][] dict = new int[2][11];
int[] n = new int[s.length];
int index = -1;
int max = 0;
for (int i = 0; i < s.length; i ++) {
n[i] = Integer.parseInt(s[i]);
}
Arrays.sort(n);
for (int i : n) {
boolean flag = true;
for (int j : dict[0]) {
if (i == j) {
flag = false;
break;
}
}
if (flag) {
index ++;
dict[0][index] = i;
dict[1][index] ++;
} else {
dict[1][index] ++;
}
}
for (int i : dict[1]) {
max = Math.max(max, i);
}
for (int i = 0; i < 11; i ++) {
if (dict[1][i] == max) {
System.out.println(dict[1][i] > n.length / 2 ? dict[0][i] : "NO");
break;
}
}
sc.close();
}
}
```
## 題目32. 字母往後移
```java
import java.util.Scanner;
public class Q32 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
int n = sc.nextInt();
for (int i = 0; i < s.length(); i ++) {
char c = s.charAt(i);
if ('0' <= c && c <= '9') {
c += '9' < c + n ? (char) (n - '9' + '0' - 1) : n;
} else if ('A' <= c && c <= 'Z') {
c += 'Z' < c + n ? (char) (n - 'Z' + 'A' - 1) : n;
} else if ('a' <= c && c <= 'z') {
c += 'z' < c + n ? (char) (n - 'z' + 'a' - 1) : n;
}
System.out.printf("%c", c);
}
System.out.println();
sc.close();
}
}
```
## 題目33. 一整數序列所含之整數個數及平均值
```java
import java.util.Scanner;
public class Q33 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
String[] s = sc.nextLine().split(" ");
float sum = 0;
for (String i : s) {
sum += Integer.parseInt(i);
}
System.out.printf("Size: %d\nAverage: %.3f\n", s.length, sum / s.length);
sc.close();
}
}
```
## 題目34. 標準體重計算
```java
import java.util.Scanner;
public class Q34 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int h = sc.nextInt();
int s = sc.nextInt();
System.out.printf("%.1f\n", s == 1 ? (h - 80) * 0.7 : (h - 70) * 0.6);
sc.close();
}
}
```
## 題目35. 買獎品
```java
import java.util.*;
public class Q35 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String[] ans = new String[n];
for (int i = 0; i < n; i ++) {
int t = sc.nextInt();
int m = sc.nextInt();
int sum = 0;
int[] k = new int[sc.nextInt()];
for (int j = 0; j < k.length; j ++) {
k[j] = sc.nextInt();
}
Arrays.sort(k);
for (int j = 0; j < m; j ++) {
sum += k[j];
}
ans[i] = sum > t ? "Impossible" : String.valueOf(sum);
}
for (String i : ans) {
System.out.println(i);
}
sc.close();
}
}
```
## 題目36. 平、閏年判定
```java
import java.util.Scanner;
public class Q36 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int y = sc.nextInt();
System.out.println(y % 4 == 0 && y % 100 != 0 || y % 400 == 0 ? "Bissextile Year" : "Common Year");
sc.close();
}
}
```
## 題目37. 18啦遊戲設計
```java
import java.util.Scanner;
public class Q37 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int[] f = new int[6];
boolean flag = true;
for (int i = 0; i < 4; i ++) {
f[sc.nextInt() - 1] ++;
}
for (int i = 5; i >= 0; i --) {
if (f[i] == 4 || f[i] == 2) {
flag = false;
System.out.println(f[i] == 4 ? "WIN" : (i + 1) * 2);
break;
}
}
if (flag) {
System.out.println("R");
}
sc.close();
}
}
```
## 題目38. 計算電費
```java
import java.util.Scanner;
public class Q38 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int e = sc.nextInt();
double[] m = new double[2];
double[] s120 = new double[] { 120 * 2.1, 120 * 2.1 };
double[] s330 = new double[] { s120[0] + 210 * 3.02, s120[1] + 210 * 2.68 };
double[] s500 = new double[] { s330[0] + 170 * 4.39, s330[1] + 170 * 3.61 };
double[] s700 = new double[] { s500[0] + 200 * 4.97, s500[1] + 200 * 4.01 };
if (0 < e && e <= 120) {
m[0] = e * 2.1;
m[1] = e * 2.1;
} else if (e <= 330) {
m[0] = s120[0] + (e - 120) * 3.02;
m[1] = s120[1] + (e - 120) * 2.68;
} else if (e <= 500) {
m[0] = s330[0] + (e - 330) * 4.39;
m[1] = s330[1] + (e - 330) * 3.61;
} else if (e <= 700) {
m[0] = s500[0] + (e - 500) * 4.97;
m[1] = s500[1] + (e - 500) * 4.01;
} else {
m[0] = s700[0] + (e - 700) * 5.63;
m[1] = s700[1] + (e - 700) * 4.50;
}
System.out.printf("Summer months:%.2f\nNon-Summer months:%.2f\n", m[0], m[1]);
sc.close();
}
}
```
## 題目39. 考試測驗
```java
import java.util.Scanner;
public class Q39 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String[] t = new String[n];
for (int i = 0; i < n; i ++) {
int[] arr = new int[] { sc.nextInt(), sc.nextInt(), sc.nextInt() };
int s = 0;
int sum = 0;
int max = 0;
for (int j : arr) {
sum += j;
max = Math.max(j, max);
if (j >= 60) {
s ++;
}
}
if (s == 2 && sum < 220 || s == 1 && max >= 80) {
t[i] = "M";
} else {
t[i] = s == 3 || s == 2 && sum >= 220 ? "P" : "F";
}
}
for (String s : t) {
System.out.println(s);
}
sc.close();
}
}
```
## 題目40. ISBN驗證
```java
import java.util.Scanner;
public class Q40 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
String[] s = sc.nextLine().split(" ");
int[] n = new int[10];
int[][] t = new int[2][10];
for (int i = 0; i < s.length; i ++) {
n[i] = s[i].equals("X") ? 10 : Integer.parseInt(s[i]);
t[0][i] = i == 0 ? n[i] : n[i] + t[0][i - 1];
t[1][i] = i == 0 ? t[0][i] : t[0][i] + t[1][i - 1];
}
System.out.println(t[1][9] % 11 == 0 ? "YES" : "NO");
sc.close();
}
}
```