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