注解
1、先按照题目的叙述,模拟打出前100或者前1000个数,然后观察找规律。
2、从观察结果可以看到,具备周期性,周期为6。
3、总结归纳结果。
代码
#include <iostream>
typedef long long int LL;
using namespace std;
int main() {
int T;
cin>>T;
for(int i=0; i<T; i++) {
LL n;
cin>>n;
switch(n%6){
case 0:
cout<<n/2<<endl;
break;
case 1:
cout<<n/6*4+1<<endl;
break;
case 2:
cout<<n/2<<endl;
break;
case 3:
cout<<n/6<<endl;
break;
case 4:
cout<<n-1<<endl;
break;
case 5:
cout<<n/6<<endl;
break;
}
}
return 0;
}