题目链接:http://acm.fzu.edu.cn/contest/problem.php?cid=146&sortid=2
思 路:直接模拟运算过程,当n>=20150001时,运算过程有两种一是n-=2015后n<20150001得出结果二是继续运算n>=20150001的情况。如下所示
代码如下:
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <cmath>
#include <vector>
using namespace std;
typedef __int64 LL;
int main()
{
int T;
scanf ( "%d", &T );
while( T-- )
{
LL n;
scanf( "%I64d", &n );
if( n < 20150001 )
{
printf("%I64d\n", n+2014 );
}
else
{
while( n >= 20150001 )//判断是那种情况
{
if( n >= 20150001 )
n -= 2015;
if( n < 20150001 )
n += 2014;
}
printf("%I64d\n", n+2014 );
}
}
return 0;
}