【2019百度之星初赛一E题 HDU 6672 --- Seq】
Description
Input
第一行输入一个整数 T,代表 T (1≤T≤100000) 组数据。
接下 T 行,每行一个数字 n (1≤n≤1012)。
Output
输出 T 行,每行一个整数表示答案。
Sample Input
5
1
2
3
4
5
Sample Output
1
1
0
3
0
解题思路
我能说是暴力打表,找规律吗 /笑哭
AC代码:
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long ll;
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
ll n;
scanf("%lld",&n);
if(n % 6 == 0) printf("%I64d\n",n / 2);
else if(n % 6 == 1) printf("%I64d\n",4 * (n / 6) + 1);
else if(n % 6 == 2) printf("%I64d\n",3 * (n / 6) + 1);
else if(n % 6 == 3) printf("%I64d\n",(n / 6));
else if(n % 6 == 4) printf("%I64d\n",n - 1);
else if(n % 6 == 5) printf("%I64d\n",(n / 6));
}
return 0;
}