適合初步練習PAT乙級 (1060) 愛丁頓數

2021-10-02 14:38:07 字數 833 閱讀 2689

英國天文學家愛丁頓很喜歡騎車。據說他為了炫耀自己的騎車功力,還定義了乙個「愛丁頓數」 e ,即滿足有 e 天騎車超過 e 英里的最大整數 e。據說愛丁頓自己的 e 等於87。

現給定某人 n 天的騎車距離,請你算出對應的愛丁頓數 e(≤n)。

輸入格式:

輸入第一行給出乙個正整數 n (≤10

​5​​),即連續騎車的天數;第二行給出 n 個非負整數,代表每天的騎車距離。

輸出格式:

在一行中給出 n 天的愛丁頓數。

輸入樣例:

106 7 6 9 3 10 8 2 7 8

輸出樣例:

6

#include

#include

int a[

1000000];

using

namespace std;

bool

cmp(

int a,

int b)

intmain()

sort

(a +

1, a + n +

1, cmp)

;int ans =

0, p =1;

//注意是從陣列1開始儲存每天的公里數

while

( a[p]

> p)

cout << ans;

return0;

}

思路:

從下標1開始儲存n天的公里數在陣列中,對n個資料從大到小排序,i表示了騎車的天數,那麼滿足a[i]>i的最大值為所求。這是因為從大到小排序,可以找到第乙個小於某一公里數,而這乙個之前的都大於這個公里數,之後的都小於這個公里數。

適合初步練習PAT乙級 (1019) 數字黑洞

給定任乙個各位數字不完全相同的 4 位正整數,如果我們先把 4 個數字按非遞增排序,再按非遞減排序,然後用第 1 個數字減第 2 個數字,將得到乙個新的數字。一直重複這樣做,我們很快會停在有 數字黑洞 之稱的 6174,這個神奇的數字也叫 kaprekar 常數。例如,我們從6767開始,將得到 7...

適合初步練習PAT乙級 (1064) 朋友數

如果兩個整數各位數字的和是一樣的,則被稱為是 朋友數 而那個公共的和就是它們的 朋友證號 例如 123 和 51 就是朋友數,因為 1 2 3 5 1 6,而 6 就是它們的朋友證號。給定一些整數,要求你統計一下它們中有多少個不同的朋友證號。輸入格式 輸入第一行給出正整數 n。隨後一行給出 n 個正...

適合初步練習PAT乙級 (1067) 試密碼

當你試圖登入某個系統卻忘了密碼時,系統一般只會允許你嘗試有限多次,當超出允許次數時,賬號就會被鎖死。本題就請你實現這個小功能。輸入格式 輸入在第一行給出乙個密碼 長度不超過 20 的 不包含空格 tab 回車的非空字串 和乙個正整數 n 10 分別是正確的密碼和系統允許嘗試的次數。隨後每行給出乙個以...