牛客網 數對

2021-10-01 02:20:27 字數 1061 閱讀 2336

題目描述

牛牛以前在老師那裡得到了乙個正整數數對(x, y), 牛牛忘記他們具體是多少了。

但是牛牛記得老師告訴過他x和y均不大於n, 並且x除以y的餘數大於等於k。

牛牛希望你能幫他計算一共有多少個可能的數對。

輸入描述:

輸入包括兩個正整數n,k(1 <= n <= 10^5, 0 <= k <= n - 1)。

輸出描述:

對於每個測試用例, 輸出乙個正整數表示可能的數對數量。

示例

輸入:5 2

輸出:7

說明:滿足條件的數對有(2,3),(2,4),(2,5),(3,4),(3,5),(4,5),(5,3)

解題思路:

1.由題目可知x<=n,y<=n, 且x%y>=k可得 y>k,因為餘數必定小於除數y。

2.對於[0,y] [y+1,2y]…[(a-1)y+1,ay]裡 x屬於[start+k,end)

3. ay<=n 計算出最大a,簡便計算 a*(end-start-k)

4.還要分析ay+k是否大於n,若小於n的話,則說明[ay+k,n]也是x個區間

python

a=input().strip().split(' ')

n,k = int(a[0]),int(a[1])

y_max = min (n,2*n-k)

result =0

start = max(k+1,2)

if k==0:

result =n*n

else:

for y in range(start,n+1):

a = int(n/y)

result += a*(y-k)

if a*y+k<=n:

result += n-(a*y+k)+1

print(result)

牛客網 數串

設有n個正整數,將他們連線成一排,組成乙個最大的多位整數。如 n 3時,3個整數13,312,343,連成的最大整數為34331213。如 n 4時,4個整數7,13,4,246連線成的最大整數為7424613。有多組測試樣例,每組測試樣例包含兩行,第一行為乙個整數n n 100 第二行包含n個數 ...

牛客網 數獨

數獨是乙個我們都非常熟悉的經典遊戲,運用計算機我們可以很快地解開數獨難題,現在有一些簡單的數獨題目,請編寫乙個程式求解。輸入描述 輸入9行,每行為空格隔開的9個數字,為0的地方就是需要填充的。輸出描述 輸出九行,每行九個空格隔開的數字,為解出的答案。參考了答案解析 從三個方面來判斷缺失位置的數字,分...

牛客網 刪數

有乙個陣列a n 順序存放0 n 1,要求每隔兩個數刪掉乙個數,到末尾時迴圈至開頭繼續進行,求最後乙個被刪掉的數的原始下標位置。以8個數 n 7 為例 0,1,2,3,4,5,6,7 0 1 2 刪除 3 4 5 刪除 6 7 0 刪除 如此迴圈直到最後乙個數被刪除。輸入描述 每組資料為一行乙個整數...