一个小女孩正在用左手手指数数,从1数到n。她从拇指算作1开始数起,然后,食指为2,中指为3,无名指为4,小指为5。接下来调转方向,无名指算作6,中指为7,食指为8,大拇指为9,如此反复。问最后会停在那个手指上?用编号1、2、3、4、5依次表示大拇指、食指、中指、无名指、小指。 输入格式: 输入多组数据。每组数据占一行,只包含一个整数n(1<=n<=1000000000)。 输出格式: 每组数据占一行,只包含一个介于1和5之间的整数,表示最后停留的手指。
输入输出部分没有实现,只是提供其中数指头的过程
// count.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
long num = 1000;
int finger = 0;
short direction = 0; //0:->,1:<-
printf("input your num:");
scanf("%d",&num);
num -= 5;
if (num > 0)
{
direction = 1;
num -= 4;
while (num >0)
{
//改变方向
if (0 == direction)
{
direction = 1;
}
else
{
direction = 0;
}
num -= 4;
}
if (0 == direction)
{
finger = 5 + num;
}
else
{
finger = 1 - num;
}
}
else
{
finger = num + 5;
}
printf("you finger is %d\n",finger);
getchar();
return 0;
}
没有测试用例,只是简单核实