【金色十月線上程式設計比賽規則】
乙個小女孩正在用左手手指數數,從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 最少的數。但由於數比較多,小強 希望你能幫他得到金鑰,好在成績公布之前將成績改過來。...