題目描述
牛牛以前在老師那裡得到了乙個正整數數對(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。python2.對於[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個區間
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 刪除 如此迴圈直到最後乙個數被刪除。輸入描述 每組資料為一行乙個整數...