CodeForces

原题
题意:给你个数N,问你能得到多少种权重不同的分解(权重指将数分解成一个不上升的正整数序列后,序列中等于序列第一个数的个数)
思路:看到题感觉就是规律题,但是开始一直没搞懂输入8为啥出来5,如果能够简单将前几个数模拟一下,就会发现规律

n ans
1 1
2 2
3 2
4 3
5 3
6 4
7 4
所以 ans=n/2-1

代码:

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int n;
    while(cin>>n)
    {
      cout<<n/2+1<<endl;
    }
return 0;
}

戒骄戒躁,百炼成钢!
原文地址:https://www.cnblogs.com/Pecoz/p/12677059.html