*(File IO): input:h2o.in output:h2o.out
时间限制: 1000 ms 空间限制: 128000 KB 具体限制
题目描述
小PP超喜欢喝水,所以他就去买水了。
商店里有 种水
第 种:商店里有无数瓶
第 种:商店里只有一瓶
第 种:商店里竟然有 瓶 。
第 种: 瓶 瓶一包卖的
第 种: 瓶 瓶一包卖的
好奇心极强的小PP想买 瓶水,他想知道他有多少种买法。
输入
输入文件 的第一行包括一个正整数
输出
输出文件 有且仅有一个整数 , 为买水方案数。
样例输入
1
样例输出
3
数据范围限制
对于 的数据: ;
有 的数据: ;
对于 的数据: ;
解题思路
我们发现其实用循环也是可以找出规律的,只需枚举每种水买多少瓶(包),在判断是否能凑成N瓶水即可,然后我们就得到了以下规律:
* 我们可以发现
所以用等差数列求和公式即可,即答案为
代码
#include<iostream>
#include<cstring>
#include<string>
#include<cstdio>
#include<algorithm>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
freopen("h2o.in","r",stdin);
freopen("h2o.out","w",stdout);
long long n;
scanf("%lld",&n);
printf("%lld",(n + 1) * (n + 2) / 2);
return 0;
}