南邮 OJ 2060 数数问题

数数问题

时间限制(普通/Java) :  1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 181            测试通过 : 76 

比赛描述

    yuman正在用左手手指数数,从1数到n。他从大拇指算作1开始数起,然后,食指为2,中指为3,无名指为4,小指为5。接下来调转方向,无名指算作6,中指为7,食指为8,大拇指为9,如此反复。问最后会停在那个手指上?

    用编号1、2、3、4、5依次表示大拇指、食指、中指、无名指、小指。 



输入

先输入一个正整数T,表示共有T组测试数据,(1<=T<=100)

每组数据占一行,只包含一个正整数n(1<=n<=100000)。

输出

每组数据占一行,输出包含一个介于1和5之间的整数,表示最后停留的手指。

样例输入

2
1
12

样例输出

1
4

题目来源

yuman






#include<iostream>
using namespace std;

int main(){
	int T;
	long n;
	cin>>T;
	while(T--){
		cin>>n;
		if(n==1){
			cout<<1<<endl;
			continue;
		}
		n -= 2;
		n %= 8;
		if(n<4){
			n += 2;
		}
		else{
			n = 8-n;
		}
		cout<<n<<endl;
	}
}


你可能感兴趣的:(ACM,南邮OJ,数数问题)