题目描述
乔治在梦中来到了一个神奇部落,这个部落的神树具有奇特的功能:对于 每一位新朋友,都会获赠金币,而且金币的数量会随时间的延续而增加: 第 1 周,每天 1枚金币; 第 2 周,每天 2枚金币; 第 3 周,每天 3枚金币;⋯⋯ 请问:至少多少天,乔治的金币数量达到 n 枚?
输入描述
一行,只有一个正整数 n。
输出描述
一行,一个整数,表示金币达到 n 枚所需的最少天数。
样例
输入
30
输出
17
提示
【样例说明】
第 1 周:每天 1 枚,共 7 枚;
第 2 周:每天 2 枚,共 14 枚; 第 3 周:每天 3 枚,3 天即可: 7+14+3*3=30 。
共计: 7+7+3 = 17 天。
【数据规模】
对于 30%的数据, n 不超过 2147483647 ; 对于 100%的数据, n 的位数不超过 18。
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
#define ll long long
int main() {
ll n,s=0,cnt=1,i=0;
cin>>n;
while(s<n){
s+=cnt;
i++;
if(i%7==0) cnt++;
}
cout<<i;
}