1. 程式人生 > >【度小滿2018-09-26線上筆試】ONU

【度小滿2018-09-26線上筆試】ONU

題目描述

ONU是一種新型桌遊,一副牌有若干種花色,總共N張,且每種花色的牌的張數一樣。現在每次給定N,M,表示這幅總共N張的牌至少有M種花色,請問這副牌可能的花色有多少種?

輸入

共一行,兩個整數N,M。(1<=N<=1012,0<=M<=1012

輸出

一個整數,表示可能的花色種數。

樣例輸入

30

樣例輸出

2

Hint

可能有15或者30種花色,所以總共兩種花色數。

在這裡插入圖片描述

Python程式碼

# Summary: ONU
# Author:  Amusi
# Date:    2018-09-26
# Reference: https://blog.csdn.net/yong_ss/article/details/79356836
n,m = map(int, input("").split()) def process(m, n): count = 0 i = 1 while i*i<n: if 0==n%i: if i<m and (n//i)>m: count+=1 if i>m and (n//i)>m: count+=2 if i==m and (n//i)==m: count+=1 if
i==m and (n//i)!=m: count+=2 i+=1 if(i*i==n): count+=1 return count print(process(m, n))