周赛 IQ test

本文介绍了一个简单的程序设计问题,即帮助Bob完成IQ测试中的任务,找出一组数字中奇偶性不同的那个数字,并给出其位置。通过C++实现,程序读取输入的数字数量及具体数值,判断并输出特异数字的序号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Description

   Bob is preparing to pass IQ test. The most frequent task in this test is to find out which one of the given n 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 given n numbers finds one that is different in evenness.

Input

  The first line contains integer n (3 ≤ n ≤ 100) — amount of numbers in the task. The second line contains n 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.

Sample Input

Input
5
2 4 7 8 10
Output
3
Input
4
1 2 1 1
Output
2

///题意:本题题意很简单,就是给一些数,要你找出这些数种那一个奇偶性不相同的唯一数的位置。
//@zhangxiaoyu
//2015/8/12

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;

int a[105];
int main()
{
    int tt;
    while(~scanf("%d",&tt))
    {
        int ans1=0,ans2=0;
        int pos1,pos2;
        for(int i=1;i<=tt;i++)
        {
            scanf("%d",&a[i]);
            if(a[i]%2==0)
            {
                ans1++;
                pos1=i;
            }
            else
            {
                ans2++;
                pos2=i;
            }
        }
        if(ans1>ans2) ///偶数比ji数多
        {
            printf("%d\n",pos2);
        }
        else
        {
            printf("%d\n",pos1);
        }
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值