题目链接:http://codeforces.com/problemset/problem/379/A
题目意思:给定a支蜡烛(每支蜡烛可以燃烧1小时),可以在燃尽的a支蜡烛中看能组成多少组b支蜡烛,每组可以换取一支新的蜡烛。接着换取后的蜡烛燃尽之后数量又可能是b的倍数(记得总数量还应包括余数),问这些蜡烛总共可以燃烧多少个小时。
一开始有多少组b支蜡烛,实质是a/b。由于可以除不尽,要检验a%b。那么目前的蜡烛就总共有a/b + a % b。不断地把 a/b相加,直到a < b为止。
考完试的第一天,做的第一道简单的题目,算是找回十几天没做题的感觉吧。^_^
1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 using namespace std; 5 6 int main() 7 { 8 int a, b, res; 9 while (scanf("%d%d", &a, &b) != EOF) 10 { 11 res = a; 12 while (a >= b) 13 { 14 res += a / b; // 总的蜡烛数量中有多少组b 15 a = a / b + a % b; // 记得每轮都需要更新,这里包括灭了的蜡烛数和不够组成b组所剩下的余数 16 } 17 printf("%d ", res); 18 } 19 return 0; 20 }