写一个程序找出一组数中奇偶性(evenness)与其他数字不同的那个数,输出它是从左数起第几个数。 第一行输入一个[3,100]的整数表示这组数有几个数,第二行输入这组数。 (这题的英文很坑,最后听师兄说了才知道evenness是奇偶性的意思,词典都查不到这个词) 那这题就很简单了。
取前3个数作为参考,看前3个数当中奇数和偶数哪个更多(或者是只有奇数还是只有偶数),再找出奇偶性与较多的一方相反的数,输出其下标+1即可。
#include<iostream>
using namespace std;
int main()
{
int n;
while (cin >> n)
{
int* p = new int[n];
for (int i = 0; i < n; i++)
cin >> p[i];
if (p[0] % 2 == p[1] % 2)
{
for (int i = 0; i < n; i++)
if (p[i] % 2 != p[0] % 2)
cout << i + 1;
}
else
{
if (p[2] % 2 == p[0] % 2)
{
for (int i = 0; i < n; i++)
if (p[i] % 2 != p[0] % 2)
cout << i + 1;
}
else
{
for (int i = 0; i < n; i++)
if (p[i] % 2 != p[1] % 2)
cout << i + 1;
}
}
cout << endl;
}
return 0;
}