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;
}

猜你喜欢

转载自www.cnblogs.com/Pecoz/p/12677059.html