acwing3667. 切木棍

acwing3667. 切木棍

题目链接:https://www.acwing.com/problem/content/description/3670/

思路

n如果是奇数,肯定无解

n如果是偶数,就去看n/2可以怎么分为两份(1与n/2-1......),其实就是再除以2就成几组,但是不能出现长度相同的两个,所以先-1再去除以2. ((n-1)/2)

代码

#include<iostream>

using namespace std;

int main()
{
    int n;
    while(cin >> n)
    {
        if(n % 2) cout << 0 << endl; // 如果周长为奇数肯定无解
        else cout << (n / 2 - 1) / 2 << endl; // 看n/2可以分为多少分,就-1再/2,-1是防止均分两份
    }
    
    return 0;
}
posted @ 2022-09-06 08:34  r涤生  阅读(16)  评论(0编辑  收藏  举报