金色十月線上程式設計比賽第一題:小女孩數數

jsjliuyun發表於2014-10-14

一個小女孩正在用左手手指數數,從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


解析:這是一道很簡單的題,開始看到題總是毛躁,想不到正點上,其實很簡單,找到數數的週期即可,拿拇指作為基準,八個數為一個週期,所以只需要判斷  n%8 的幾種情況即可,唉……又挑戰失敗了


程式碼

#include<iostream>
using namespace std;
int main()
{
	long n;
	while(cin >> n)
	{
		long t=n%8;
		if(t<=5 && t>0)
		{
			cout << t << endl;
		}else if(t==0){
			cout << 2 << endl;
		}else{
			cout << 5-(t%5) << endl;
		}
	}
	return 0;
}


相關文章