GDUFE ACM-1270

题目:http://acm.gdufe.edu.cn/Problem/read/id/1270

 

滚动AC

Time Limit: 2000/1000ms (Java/Others)

Problem Description:

 小光最近拉了几个同学入ACM的坑,为鼓励A题,就增加奖励制度:每AC三道就送一道,且可以循环叠加。已知小X某天连续A了n道题,求他最后总共A了多少题。

Input:

输入一个数字T(T<50),接下来T行每行一个数字n(0<=n<=10^7)。

Output:

输出A题总数

Sample Input:

2
100
101

Sample Output:

149
151

思路:用n除以3,再把整数部分与余数相加再除以3,直到整数部分为0

难度:简单

代码:
 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n,a,b,c,sum;
 5     while(~scanf("%d",&n))
 6     {
 7         while(n--)
 8         {
 9             scanf("%d",&a);
10             b=1;
11             sum=a;
12             while(b!=0)
13             {
14                 b=a/3;
15                 c=a%3;
16                 sum=sum+b;
17                 a=b+c;
18             }
19             printf("%d\n",sum);
20         }
21     }
22     return 0;
23 }

 

posted @ 2016-10-28 20:25  ruoruoruoruo  阅读(133)  评论(0编辑  收藏  举报