Official
A - AtCoder Quiz 2 Editorial by KoD
if / else 文を用いて実装することができます。
実装例 (C++):
#include <bits/stdc++.h>
using namespace std;
int main() {
int X;
cin >> X;
if (X < 40) {
cout << 40 - X << '\n';
} else if (X < 70) {
cout << 70 - X << '\n';
} else if (X < 90) {
cout << 90 - X << '\n';
} else {
cout << "expert\n";
}
}
実装例 (Python) :
X = int(input())
if X < 40:
print(40 - X)
elif X < 70:
print(70 - X)
elif X < 90:
print(90 - X)
else:
print("expert")
なお、ループを用いて簡潔に実装することもできます。
\(40, 70, 90\) のうち \(X\) より大きい最小のものを見つけ(存在しない場合は expert
と出力)、その値から \(X\) を引くという処理を行っています。
実装例 (C++):
#include <bits/stdc++.h>
using namespace std;
int main() {
int X;
cin >> X;
vector<int> A = {40, 70, 90};
for (int i = 0; i < 3; ++i) {
if (A[i] > X) {
cout << A[i] - X << '\n';
return 0;
}
}
cout << "expert\n";
}
以下に載せるコードは発展的な内容を含みます (C++) :
#include <bits/stdc++.h>
using namespace std;
int main() {
int X;
cin >> X;
vector<int> A = {40, 70, 90};
auto itr = upper_bound(begin(A), end(A), X);
if (itr != end(A)) {
cout << *itr - X << '\n';
} else {
cout << "expert\n";
}
}
posted:
last update: