首页 > 试题广场 >

比较奇偶数个数

[编程题]比较奇偶数个数
  • 热度指数:5367 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
第一行输入一个数,为n,第二行输入n个数,这n个数中,如果偶数比奇数多,输出NO,否则输出YES。

输入描述:
输入有多组数据。
每组输入n,然后输入n个整数(1<=n<=1000)。


输出描述:
如果偶数比奇数多,输出NO,否则输出YES。
示例1

输入

5
1 5 2 4 3

输出

YES
列表题目与这个实际怎么不一样。。。。。。
发表于 2018-02-04 11:16:08 回复(2)
#include <stdio.h>

int main()
{
    int count;//奇数的个数(净个数)
    int n, x;
    while(scanf("%d", &n)!=EOF)
    {
        if(n<1) break;
        count=0;
        while(n--)
        {
            scanf("%d", &x);
            if(x%2==1) count++;
            else count--;
        }
        if(count<0) printf("NO\n");
        else printf("YES\n");
    }
    return 0;
}

发表于 2018-02-08 17:24:13 回复(0)
//话说我也想做立方根的题目
#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    while(cin>>n){
        int b,o_num=0,e_num=0;
        for(int i=0;i<n;i++){
            cin>>b;
            if(b%2==0) 
                e_num++;
            else 
                o_num++;
        }
        if(o_num<e_num) 
            cout<<"NO"<<endl;
        else 
            cout<<"YES"<<endl;
    }
}

发表于 2020-01-13 22:16:10 回复(0)
#include<bits/stdc++.h>
int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        int a=0,b;
        for(int i=0;i<n;i++){
            scanf("%d",&b);
            if(b&1) a++;
            else a--;
        }
        printf(a<0?"NO\n":"YES\n");
    }
}//说好的立方根呢???
编辑于 2019-03-20 14:06:14 回复(0)

①列表中显示的题目与打开超链接后显示的题目不一样
②实际题目是重复了的,以下代码就是昨晚做过的题,复制粘贴运行AC一气呵成
③奇偶数英语:奇数odd,偶数even

import java.util.Scanner;

/**
 * @author Allen_Hua
 * @create_time 创建时间:May 11, 2018 9:51:56 PM 类说明
 */
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNext()) {
            int n = scan.nextInt();
            int[] data = new int[n];
            for (int i = 0; i < data.length; i++) {
                data[i] = scan.nextInt();
            }
            int jiShu = 0, ouShu = 0;
            for (int i = 0; i < data.length; i++) {
                if (data[i] % 2 == 0) {
                    ouShu++;
                } else {
                    jiShu++;
                }
            }
            if (ouShu > jiShu) {
                System.out.println("NO");
            } else {
                System.out.println("YES");
            }
        }
    }
}
编辑于 2018-05-12 19:23:56 回复(0)
#include<stdio.h>
int main (){//the shorter,the better.
    int x,n;double r;
    for(;~scanf("%d%d",&x,&n);)
        for(r=x;n>0&&(r = r*2.0/3+x/(3.0*r*r));n--,n==0?printf("%.6lf\n",r):0);
}

发表于 2018-01-13 10:01:23 回复(0)
#include <iostream>
#include <string>
using namespace std;

int main(){
    int n;
    const string ANS_STRING[] = {"YES", "NO"};
    while(cin >> n){
        int odd = 0, x;
        for(int i = 0; i < n; i++) {
            cin >> x;
            odd += x & 0x1;
        }
        cout << ANS_STRING[odd < n - odd] << endl;
    }
    return 0;
}

这是我想到的一种比较优雅的解法,整个代码省略了if语句,而且不用单独用两个变量记录奇数和偶数。

发表于 2018-06-20 22:26:29 回复(0)
# include <iostream>
# include <string>

using namespace std;

const int MAX=1000;

int main()
{
    int n;
    while(cin>>n)
    {
        int a[MAX];
        for(int i=0;i<n;i++)
        {
            cin>>a[i];
        }
        int count1=0,count2=0;
        for(int i=0;i<n;i++)
        {
            if(a[i]%2==0)
            {
                count1++;
            }
            else
            {
                count2++;
            }
        }
        if(count1>count2)
        {
            cout<<"NO"<<endl;
        }
        else 
        {
            cout<<"YES"<<endl;
        }
    }
    return 0;
 }
 
发表于 2022-02-20 15:20:51 回复(0)
import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextInt()){
            int n = sc.nextInt();
            int even = 0;
            int odd = 0;
            int num;
            for (int i = 0; i < n; i++){
                num = sc.nextInt();
                if (num % 2 == 0){
                    even++;
                } else {
                    odd++;
                }
            }
            if (even > odd){
                System.out.println("Yes");
            } else {
                System.out.println("No");
            }
        }
        sc.close();
    }
}

发表于 2020-05-10 22:37:18 回复(0)
#include<stdio.h>

int main()
{
	int i,n;
	int a[1000];
	int o=0;
	int e=0;
	scanf("%d\n",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
		if(a[i]%2==0)
			e++;
		else
			o++;
	}
	if(e>o)
		printf("NO");
	else
		printf("YES");
	return 0;	
}

发表于 2020-04-23 16:26:42 回复(0)
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n;
    while(~scanf("%d", &n))
    {
        int count = 0;
        int temp;
        for(int i = 0; i < n; i++)
        {
            scanf("%d", &temp);
            if(temp % 2 == 0)
                count--;
            else
                count++;
        }
        if(count < 0)
            printf("NO\n");
        else
            printf("YES\n");
    }
}
这不是北邮的复试题吗...放错位置了吧
编辑于 2020-02-29 15:24:58 回复(0)
#include<stdio.h>

int main(){
    int n;
    while(~scanf("%d",&n)){
        //int p[n];
        int cnt=0;
        /*for(int i=0;i<n;i++){
            scanf("%d",&p[i]);
            if(p[i]%2==0)
                cnt++;
            else 
                cnt--;
        }*/
        int x;
        while(n--){
            scanf("%d",&x);
            if(x%2==0) cnt++;
            else cnt--;
        }
        if(cnt>0)
            printf("NO\n");
        else
            printf("YES\n");
    }
}

加注释的是使用数组的,也可以不使用数组。
发表于 2020-02-28 15:07:28 回复(0)
#include <stdio.h>
#include <stdlib.h>
#define N 1010
int a[N];
int main()
{
    int n;scanf("%d",&n);
    int p=0;
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]%2==0)p++;
        else p--;
    }
    if(p>0)printf("NO\n");
    else printf("YES\n");
    return 0;
}

发表于 2020-02-13 14:05:58 回复(0)
#include <stdio.h>
void main(){
    int n,i,j=0,o=0;
    int a[1000];
    scanf("%d",&n);
    if(n>=1&&n<=1000)
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);  
        if(a[i]%2!=0)
            j++;
        else
             o++;
    }
    if(o>j)
        printf("NO");
    else
        printf("YES");
      
}
为啥我的AC不过呢?
发表于 2020-01-28 11:13:35 回复(0)
#include <iostream>
using namespace std;

int main()
{     int num[2], a, n;     cin >> n;     for(int i = 0; i < n; ++i){         cin >>a ;         if(a%2)    num[1]++;         else num[0]++;     }     if(num[1] >= num[0])    cout << "YES";     else    cout << "NO";     return 0;
}

发表于 2019-04-03 20:08:18 回复(0)
#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    int *a = new int[n];
    int jnum = 0, onum = 0;
    for (int i = 0; i < n; i++) {
        cin >> a[i];
        if (a[i] % 2 == 0) onum++;
        else jnum++;
    }
    if (onum > jnum) cout << "NO" << endl;
    else cout << "YES" << endl;

    return 0;
}
发表于 2019-03-14 16:55:24 回复(0)
#include<stdio.h>
#include<iostream>
using namespace std;
int num[1000];
int main(){
    int n;
    int cnt=0;
    while(scanf("%d",&n)!=EOF){
        for(int i=0;i<n;i++){
            scanf("%d",&num[i]);
            if(num[i]%2==0)
                cnt++;
            else
                cnt--;
        }
        if(cnt>0)
            printf("NO\n");
        else
            printf("YES\n");
        cnt=0;
    }
}

发表于 2019-03-13 17:32:59 回复(0)
#include<iostream>
using namespace std;
int main(){
    int n;
    int odd=0,even=0;
    while(cin>>n){
        int a[n];
        for(int i=0;i<n;i++) cin>>a[i];
        for(int j=0;j<n;j++){
            if(a[j]%2==1) odd++;
            else even++;
        }
        if(odd>=even) cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
    }
    return 0;
}

发表于 2019-02-11 17:40:25 回复(0)
两行
n,nums=int(input()),list(map(int,input().split()))
print('NO' if 2*len([i for i in nums if not i&1])>n else 'YES')

发表于 2019-02-06 09:36:19 回复(0)
def OddVSEven():
    n = int(input())
    numList = list(map(int,input().split()))
    OddCount = 0
    EvenCount = 0
    for i in numList:
        if i %2 ==0:
            EvenCount +=1
        else :
            OddCount +=1
    if EvenCount > OddCount :
        print("NO")
    else:
        print("YES")
OddVSEven()

发表于 2018-12-09 18:39:06 回复(1)

问题信息

难度:
37条回答 4689浏览

热门推荐

通过挑战的用户