Problem description
Bob is preparing to pass IQ test. The most frequent task in this test is to find out which one of the givenn numbers differs from the others. Bob observed that one number usually differs from the others in evenness. Help Bob — to check his answers, he needs a program that among the givenn numbers finds one that is different in evenness.
Input
The first line contains integern (3 ≤ n ≤ 100) — amount of numbers in the task. The second line containsn space-separated natural numbers, not exceeding 100. It is guaranteed, that exactly one of these numbers differs from the others in evenness.
Output
Output index of number that differs from the others in evenness. Numbers are numbered from 1 in the input order.
Examples
Input
52 4 7 8 10
Output
3
Input
41 2 1 1
Output
2解题思路:结合样例,可以发现只要奇数或偶数出现的次数为1,就输出那个数的下标,水过!AC代码:
1 #include<bits/stdc++.h>
2 using namespace std;
3 int main(){
4 int n,x,odd=0,od=1,even=0,ed=1;
5 cin>>n;
6 for(int i=1;i<=n;++i){
7 cin>>x;
8 if(x%2){od=i;odd++;}
9 else{ed=i;even++;}
10 }
11 if(odd<even)cout<<od<<endl;
12 else cout<<ed<<endl;
13 return 0;
14 }
原文链接: https://www.cnblogs.com/acgoto/p/9170585.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/275821
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!