A-Odd vs Even
\(\quad\)因为是第一人题所以说比较简单。
\(\quad\)用小学老师交给我们的方法将一个数因数分解,这个数可以表示为多组数相乘。
\(\quad\)而我们知道
- \(Odd * Odd = Odd\)
- \(Odd * Even = Even\)
- \(Even * Even = Even\)
\(\quad\)那么现在我们发现如果这个数是一个\(Odd\)那么它的所有因数都是\(Odd\)那我们就不需要思考直接输出\(Odd\)就可以了
\(\quad\)但如果这个数是\(Even\)呢?我们需要判断一下是否可能出现\(Even * Even = Even\)的情况。
\(\quad\)一个数能分为\(Even * Even\)那就说明这个数里面包含两个\(2\),所以我们就可以很轻松的解决这道题目了。
\(\quad\)关于这个数是完全平方数也是这个道理,不难证明。
code
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<string>
#include<algorithm>
#include<cmath>
#include<ctime>
#include<climits>
#include<sstream>
using namespace std;
#define int long long
signed main()
{
ios::sync_with_stdio(false);
int t;
cin >> t;
for(register int i = 1 ; i <= t ; i++)
{
int n;
cin >> n;
if(n % 2 != 0)
{
cout << "Odd" << endl;
}
if(n % 2 == 0 && n % 4 != 0)
{
cout << "Same" << endl;
}
if(n % 4 == 0)
{
cout << "Even" << endl;
}
}
return 0;
}