P1150 Peter的烟发表时间:2022-10-27 20:49 P1150 Peter的烟 题目描述Peter 有 nn 根烟,他每吸完一根烟就把烟蒂保存起来,k(k>1)k(k>1)个烟蒂可以换一个新的烟,那么 Peter 最终能吸到多少根烟呢? 吸烟有害健康。 输入格式每组测试数据一行包括两个整数 n, kn,k(1 < n, k \le 10^81<n,k≤108)。 输出格式对于每组测试数据,输出一行包括一个整数表示最终烟的根数。 输入输出样例输入 #1复制 4 3 输出 #1复制 5 输入 #2复制 10 3 输出 #2复制 14 说明/提示对于 100\%100% 的数据,1<n, k \le 10^81<n,k≤108。 #include<bits/stdc++.h> using namespace std; int read(){ int x=0,f=0;char c=getchar(); while(!isdigit(c)){if(c=='-')f=1;c=getchar();} while(isdigit(c)){ x=x*10+c-'0'; c=getchar(); } return f?-x:x; } int n,k,t; int ans; void init(){ ans=0;t=0;n=read();k=read(); while(n){ans+=n;t+=n;n=t/k;t%=k;} } void get_ans(){ cout<<ans; } int main(){ init();get_ans(); return 0; }
文章分类:
算法学习
|