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

2022-09-23 08:27:12 字數 1026 閱讀 3191

【金色十月線上程式設計比賽規則】

乙個小女孩正在用左手手指數數,從1數到n。她從拇指算作1開始數起,然後,食指為2,中指為3,無名指為4,小指為5。接下來調轉方向,無名指算作6,中指為7,食指為8,大拇指為9,如此反覆。問最後會停在那個手指上?用編號1、2、3、4、5依次表示大拇指、食指、中指、無名指、小指。

輸入格式:

輸入多組資料。每組資料佔一行,只包含乙個整數n(1<=n<=1000000000)。

輸出格式:

每組資料佔一行,只包含乙個介於1和5之間的整數,表示最後停留的手指。

輸入樣例:110

1000000000

輸出樣例:12

2解題思路:我們可以先觀察下

1 2 3 4

59 8

7 6 10 11 12

13 17 16 15 14

18 19 20 21

25 24 23 22

我們發現第n行的最大值為5+4*(n-1),當n為偶數時,最大值在最右邊,n為奇數時,最大值在最左邊,於是我們只需要找到給定的數a在第幾行,然後從這個最大值一直減小到a,看看它在那個位置;

#include

using namespace std;

int main(){

long long n;

while (cin>>n){

double k=(n-5)*1.0/4+1;

double s=k-(int)k;

long long num=k;

if (s)

num++;

long long a=5+4*(num-1);

int answer=0;

if (a>n)

answer=a-n;

else

answer=n-a;

if (num%2==0)

answer+=1;

else

answer=5-answer;

cout<

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

金色十月線上程式設計比賽規則 乙個小女孩正在用左手手指數數,從1數到n。她從拇指算作1開始數起,然後,食指為2,中指為3,無名指為4,小指為5。接下來調轉方向,無名指算作6,中指為7,食指為8,大拇指為9,如此反覆。問最後會停在那個手指上?用編號1 2 3 4 5依次表示大拇指 食指 中指 無名指 ...

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

金色十月線上程式設計比賽第一題 小女孩數數 題目詳情 金色十月線上程式設計比賽規則 乙個小女孩正在用左手手指數數,從1數到n。她從拇指算作1開始數起,然後,食指為2,中指為3,無名指為4,小指為5。接下來調轉方向,無名指算作6,中指為7,食指為8,大拇指為9,如此反覆。問最後會停在那個手指上?用編號...

金色十月線上程式設計比賽第二題 解密

題目詳情 小強是一名學生,同時他也是乙個黑客。考試結束後不久,他驚訝的發現自己的高等數學科目居然掛了,於是他果斷入侵了學校教務 這個檔案由 n 個數構成,經過分析,這個加密檔案的金鑰為這 n 個數中二 進製位數 1 最少的數。但由於數比較多,小強 希望你能幫他得到金鑰,好在成績公布之前將成績改過來。...