题目详情:
一个小女孩正在用左手手指数数,从1数到n。她从拇指算作1开始数起,然后,食指为2,中指为3,无名指为4,小指为5。接下来调转方向,无名指算作6,中指为7,食指为8,大拇指为9,如此反复。问最后会停在那个手指上?用编号1、2、3、4、5依次表示大拇指、食指、中指、无名指、小指。
输入格式:
输入多组数据。每组数据占一行,只包含一个整数n(1<=n<=1000000000)。
输出格式:
每组数据占一行,只包含一个介于1和5之间的整数,表示最后停留的手指。
答题说明:
输入样例:
1
10
1000000000
输出样例:
1
2
2
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
#define MAX(a,b) ((a)>(b) ? (a):(b))
#define MIN(a,b) ((a)<(b) ? (a):(b))
int main()
{
int b[8]={2,1,2,3,4,5,4,3};
char a[15];
while(gets(a))
{
int s=0;
for(int i=0;i<strlen(a);i++)
{
s=(s*10+a[i]-'0')%8;
}
printf("%d\n",b[s]);
}
return 0;
}