codeforces A. New Year Candles 解题报告

题目链接: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\n", res);
18     }
19     return 0;
20 }

     

posted @ 2014-01-09 10:31  windysai  阅读(307)  评论(0编辑  收藏  举报