#16811: 思路


freedom501999@gmail.com (帥氣魔方生)

學校 : 不指定學校
編號 : 88611
來源 : [39.8.203.54]
最後登入時間 :
2019-05-30 22:56:25
d441. 10780 - Again Prime? No time. -- UVa10780 | From: [125.224.175.40] | 發表日期 : 2019-02-09 21:55

這題依據 m 分成兩部分,分述如下 :

1. m 是質數

(1) 若 n 小於 m ,因為 n ! 是從 1 到 n 的連乘積,且 m 是質數,

     n 小於 m 情形下,n ! 不存在 m 這個質因數,自然 m 無法整除 n !

例 : m = 23,n = 10,10 ! 是從 1 連乘到 10 ,並不存在 23 這個質因數,因此無法整除

(2) 若不是上述情形,則只要求 n ! 共有幾個 m 便是答案

2. m 不是質數

將 m 做質因數分解,邊分解邊確認 m 的某個質因數是否可以整除 n !

亦即將問題變成多個 " m 是質數 " 的情形,並加上以下判斷

若 m 的某個質因數 pi,其個數為 xi ( m 有 xi 個 pi )

xi 大於 n ! 中 pi 的個數 yi ,則 n ! 無法被整除,直接輸出

( n ! 的 pi 不夠給 m 的 pi 除完,m 就無法整除 n ! )

否則答案為 yi / xi 中最小的一個

例 : m = 50,n = 10,可求得 p1 = 2,p2 = 5,x1 = 1,x2 = 2,y1 = 8,y2 = 2

( m = 2^1 * 5^2 , n ! 共有 8 個 2 與 2 個 5 )

y1 / x1 = 8

y2 / x2 = 1

所以答案 = 1

 
ZeroJudge Forum