2012/02/12

[zerojudge] a005 Eva 的回家作業

題目:https://zerojudge.tw/ShowProblem?problemid=a005
說明:數學問題,等差及等比數列的判斷。讀取所有的數列數字後,若第二項及第四項數字相加為第三項數字的兩倍,即為等差數列,反之為等比數列。Python 須注意最後要將運算結果轉換成 int,Java 因為都是 int 運算,結果同樣為 int

Java 版
import java.util.Scanner;

public class A005 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while(in.hasNext()) {
            int line = Integer.parseInt(in.nextLine());
            for(int i = 0; i < line; i++) {
                String input = in.nextLine();
                String [] str = input.split(" ");
                int a2 = Integer.parseInt(str[1]);
                int a3 = Integer.parseInt(str[2]);
                int a4 = Integer.parseInt(str[3]);

                System.out.print(input + " ");
                if((a2 + a4) == 2 * a3){
                    System.out.println(a4 + (a3 - a2));
                }
                else {
                    System.out.println(a4 * (a3 / a2));
                }
            }
        }
    }
}

Python 版 (2022.06)
for i in range(int(input())):
    a = list(map(int, input().split(' ')))
    print(*a, end=' ')
    if a[1] + a[3] == 2 * a[2]:
        print(int(a[3] + (a[2] - a[1])))
    else:
        print(int(a[3] * (a[2] / a[1])))

沒有留言:

張貼留言