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 }