码迷,mamicode.com
首页 > 其他好文 > 详细

题解 AT5632 【Sum of Two Integers】

时间:2020-02-28 12:25:22      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:公式   namespace   一个   host   推出   图片   image   span   code   

在幼儿园的时候,我们就学习过把一个数分成\(a\)\(b\),我们只需要用计算机来模拟这个过程就可以了。

我们先从奇数开始看起,以\(5\)为例:

技术图片

我们可以发现,\(5\)可以分成\(1\)\(4\)\(2\)\(3\)\(3\)\(2\),以及\(4\)\(1\),也就是说,一个奇数可以有\(n-1\)种方法进行分解,去重后也就是\((n-1)\div2\)种方法。

可以在举一个例子,如\(7\),它可以分成\(1\)\(6\)\(2\)\(5\)\(3\)\(4\)\(4\)\(3\)\(5\)\(2\)\(6\)\(1\),去重后就是\(1\)\(6\)\(2\)\(5\)\(3\)\(4\),共\(3\)种,再用刚刚推出的公式,\((7-1) \div 2 = 3\),发现公式是正确的。

再看偶数,在这里以\(4\)为例。

技术图片

我们可以发现,一共有\(3\)种方法可以将\(4\)分解,和奇数一样,也有\(n-1\)种方案,其中,\(2\)\(2\)是重复的,去掉,\(3\)\(1\)也是重复的,去掉。因此我们发现,\(4\)只有\(1\)\(3\)一种分解方法,可以用\((n-1)\div2\)的方法判断。

最后我们发现,他们的公式都一样,所以可以直接套公式。

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    cout<<(n-1)/2;
    return 0;
}

题解 AT5632 【Sum of Two Integers】

标签:公式   namespace   一个   host   推出   图片   image   span   code   

原文地址:https://www.cnblogs.com/tearing/p/12376409.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!