Codeforces 4A 西瓜 翻譯與解答

難易度 : 800

英文原文如下

One hot summer day Pete and his friend Billy decided to buy a watermelon. They chose the biggest and the ripest one, in their opinion. After that the watermelon was weighed, and the scales showed w kilos. They rushed home, dying of thirst, and decided to divide the berry, however they faced a hard problem.

Pete and Billy are great fans of even numbers, that’s why they want to divide the watermelon in such a way that each of the two parts weighs even number of kilos, at the same time it is not obligatory that the parts are equal. The boys are extremely tired and want to start their meal as soon as possible, that’s why you should help them and find out, if they can divide the watermelon in the way they want. For sure, each of them should get a part of positive weight.

中文翻譯

在一個炎熱的夏天,Pete 跟他的朋友Billy決定要買一個西瓜。他們選擇了一個他們認為最大且熟透的,在西瓜被稱重之後,顯示為 w 公斤。他們狂奔回家,快要渴死了,決定來分這些莓果(?),但他們卻遇上一個困難的問題。

Pete跟Billy都是偶數的大粉絲,所以希望可以將西瓜分成兩份並且都是重量都是偶數,另外西瓜並不強制必須分成兩等份(重量可以不一樣)。兩個男孩非常累並希望可以馬上開始大快朵頤,這就是為什麼你需要幫助他們找到如何將西瓜分成他們希望的樣子的原因。另外,無庸置疑的,他們兩個各自都應該拿到重量為正的部分(不得為負數)。

輸入

The first (and the only) input line contains integer number w (1 ≤ w ≤ 100) — the weight of the watermelon bought by the boys.

第一且唯一的輸出列包含了一個整數  w (1 ≤ w ≤ 100) – 男孩們買的西瓜的重量

輸出

Print YES, if the boys can divide the watermelon into two parts, each of them weighing even number of kilos; and NO in the opposite case.

要是可以將西瓜分成兩份,並且每一份的重量都是偶數的話印出 YES,沒辦法的話就印出 NO

範例

輸入8
輸出YES

筆記

For example, the boys can divide the watermelon into two parts of 2 and 6 kilos respectively (another variant — two parts of 4 and 4 kilos).

在範例中,男孩們可以將西瓜分別分成2公斤以及6公斤(另一種則是4公斤以及4公斤)


解題思路

首先,讓我們考慮一下限制條件。由於每個部分的重量必須是正數,最小的正偶數是2。

因此,如果西瓜的總重量小於4公斤 (2+2),它無法滿足要求,所以我們會印出 “NO”。

C# 解決方案

方案1

int x = int.Parse(Console.ReadLine());

if (x < 4)
{
    Console.WriteLine("NO");
}
else
{
    Console.WriteLine(x % 2 == 0 ? "YES" : "NO");
}

因為Console.ReadLine 回傳的會是string物件,故需要轉成整數來進行判斷

Java解決方案

方案1

import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int x = scanner.nextInt();
 
        if (x < 4) {
            System.out.println("NO");
        } 
        else {
            System.out.println(x % 2 == 0 ? "YES" : "NO");
        }
    }
}

Python3解決方案

方案1

x = int(input())

if x < 4:
    print("NO")
else:
    print("YES" if x % 2 == 0 else "NO")

JavaScript解決方案

方案1

var x = readline();

if(x<4){
    print("NO");
}
else
{
    print(x%2===0?"YES":"NO");
}

結論

這一題與其說是考程式邏輯,不如說是考英文好了…

看看那烙烙長的說明,誰看得下去啊~

這是我的第一篇Codeforces的文章,還請大家多多指教~

最近想說先練習一下題目,有機會再去參加比賽 (好多次都是平日半夜的時候,要上班實在無法哈哈)

🧡如果這篇文章有幫上你的一點點忙,那是我的榮幸

🧡收藏文章或幫我點個廣告,那都是對我的支持

✅如有任何疑問,歡迎透過留言或messenger讓我知道 !

題目連結 : Problem – 4A – Codeforces

一些其他的文章

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *