AtCoder Beginner Contest 170 A問題「 Five Variables 」の解説を行います。
#問題概要
5つの変数$x_1,x_2,x_3,x_4,x_5$が与えられる。
もとの変数は$x_i = i$であったが、1つのみ$0$が代入された。では、$0$が代入された変数がどれであったかを答えよ。
##制約
・入力の$x_1,x_2,x_3,x_4,x_5$は、代入された後のものとしてありえる組み合わせである。
#解説
##解法1
全ての値に対して$0$であるかどうかの条件分岐を行う方法です。
これにより、$0$が代入された変数がどれであるかを求めることが出来ます。
##解法2
$x_1,x_2,x_3,x_4,x_5$の数列を数列$(X)$とおきます。
実は、最初の5つの変数の総和が$15$であることを利用すると、
15から$X$の総和を引いたもの
が$0$が代入された変数の値であることが分かります。よってこれを計算して出力すればよいでしょう。
以下、Python3,C++,Javaでの解答例を示します。(解法2の解法を利用しました)
##各言語解答例
Python3での解答例
{A.py}
x = list(map(int,input().split()))
print(15 - sum(x))
C++での解答例
{A.cpp}
#include<bits/stdc++.h>
using namespace std;
int main(){
int ans = 15;
for (int i = 0; i < 5; i++){
int x;
cin >> x;
ans = ans - x;
}
cout << ans << endl;
}
(改行を忘れないこと!!)
Javaでの解答例
{A.java}
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int ans = 15;
for (int i = 0; i < 5; i++){
int x = scan.nextInt();
ans = ans - x;
}
System.out.println(ans);
}
}