问题标题: 酷町堂:5594

0
0
已解决
徐子宸
徐子宸
中级天翼
中级天翼

5594   分糖果经验值:0

题目描述 Description

一共有n个糖果,问能否分为两堆,使得两堆糖果都是偶数个。

输入描述 Input Description

一个整数n

输出描述 Output Description

如果可以,输出“Yes”,否则输出“No”

样例输入 Sample Input

4

样例输出 Sample Output

Yes

  • #include<bits/stdc++.h>
  • using namespace std;
  • int main(){
  • long long n;
  • cin>>n;
  • if(n%2==0){
  • if((n/2)%2==0)
  • cout<<"Yes";
  • else cout<<"No";
  • }
  • else cout<<"No";
  • return 0;
  • }
  • 70分

0
已采纳
王子豪
王子豪
资深守护
资深守护
#pragma GCC optimize(3)
#include<iostream>
#include<cstdio>
using namespace std;
int n;
int main(){
    cin>>n;
    if(n%2==0&&n!=2){
        cout<<"Yes";
    }else{
        cout<<"No";
    }
    return 0;
}

 

0
陈振轩
陈振轩
高级光能
高级光能

首先

你的题目理解地似乎有点问题

是“使得两堆糖果都是偶数个。”

并不需要两堆苹果的数量相同

最小的偶数是2

所以可以把if条件改为"(n-2)%2==0",输出“Yes”

还有一种特殊的情况

如果是2的话

不可以分为偶数个

因此特判2的结果为No

0
丁博扬
丁博扬
中级天翼
中级天翼

你没有判断他是不是2

直接判断2

cout<<“No”;

把:

  • if(n%2==0){
  • if((n/2)%2==0)
  • cout<<"Yes";
  • else cout<<"No";
  • }

里面的if和else去掉

AC

0
沙宸安
沙宸安
高级启示者
高级启示者

你可能需要特判2、0的情况,最好带上负数,因为你也没讲数据范围

0
黄依成
黄依成
中级天翼
中级天翼

不是吧不是吧,不会你这道有手就行的题都不会吧

0
我要回答