贪婪的国王
【題目描述】
有個國王喜歡不斷積累金幣,有一天,他向國民宣布了新的征收辦法:
? ? ? ?第一天,國民要向國王繳納一枚金幣;
? ? ? ?第二天和第三天,國民每天要向國王繳納兩枚金幣;
? ? ? ?在之后的三天,也就是第四、第五、第六天,國民每天要向國王繳納三枚金幣;
? ? ? ?在之后連續四天,也就是第七、八、九、十天,每天繳納四枚金幣;
總結來說,當國民連續n天每天繳納了n枚金幣之后,國王要求在接下來的n+1天里每天繳納n+1枚金幣。國王有個目標數量T,請問需要征收多少天金幣,才能讓國王的金幣數量大于或等于T?
【輸入格式】? 輸入文件名為king.in.
輸入共1行,包含1個正整數,表示征收金幣的目標數量T。
【輸出文件】? ? 輸出文件名為king.out.
輸出共1行,包含1個正整數,表示達到目標數量的天數。
【樣例輸入1】
14【樣例輸出1】
6
【樣例輸入2】
29822
【樣例輸出2】
1001
【數據范圍】
對于100%的數據,1<=T<=100000000.
#include<bits/stdc++.h>
using namespace std;
int main(){
?? ?//freopen("king.in","r",stdin);
?? ?//freopen("king.out","w",stdout);
?? ?int n;
?? ?cin>>n;
?? ?int cnt=0,coin=1,ans=0,s=0;
?? ?while(s<n){
?? ??? ?s+=coin;
?? ??? ?cnt++;
?? ??? ?ans++;
?? ??? ?if(cnt==coin){
?? ??? ??? ?coin++;
?? ??? ??? ?cnt=0;
?? ??? ?}
?? ?}
?? ?cout<<ans;
?? ?return 0;
}
總結
- 上一篇: RTK技术应用实解
- 下一篇: Access denied for us