パリティの問題。ここのところ、算数や数学の問題が続いている。
問題概要
1 以上 3 以下の整数 が与えられる。
- が奇数
となるような 1 以上 3 以下の整数 が存在するかどうかを判定せよ。
解法
一般に、かけ算をするとき
- 偶数が 1 個でも含まれていたら:積は偶数
- すべて奇数だったら:積は奇数
ということが成り立つ (中学数学や数学 IA で学ぶ)。よって、
- または が偶数のとき: がなんであっても積は偶数になるので、"No"
- も も奇数のとき: を奇数にすれば積が奇数になるので、"Yes"
と整理できる。
#include <bits/stdc++.h> using namespace std; int main() { int A, B; cin >> A >> B; if (A * B % 2 == 1) cout << "Yes" << endl; else cout << "No" << endl; }