CodeForces - 964A(找规律)

原题
题意:给你个数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;
}

posted @ 2020-04-10 23:31  Pecoz  阅读(183)  评论(0编辑  收藏  举报