猜中二個心數
a=
請你想想看,為何可以知道a值和N值的?
可以 bc 表示二位數10b+c。 如果133×a乘積的末兩位數是 bc,即
133×a≡bc
(mod 100)。 133×a×3≡bc
×3(mod 100),又 (133×a)×3 (mod 100)=400a-a (mod 100)≡-a(mod 100)=100-a(mod 100),所以
bc ×3≡100-a (mod 100) 如果167×a乘積的末兩位數是 bc,即 167×a ≡
bc (mod 100)。 總而言之,aN乘積的末二位數乘以3,再除以100。
Copyright ©
昌爸工作坊
all rights reserved.
(1) 從51~99這49個自然數裡任選一個自然數 a。
(2)
N可以是133或167,你任選其中一個數。
N=
已知50<a<100,因此 0<100-a<50。
如果將輸入的「兩位數 bc 乘以3,再除以100得餘數
r。如果0<r<50,則 a=100-r,而且N=133」。
(167×a)×3(mod 100)≡ bc×3,又
(167×a)×3(mod 100)=500a+a (mod 100)≡a(mod 100),所以 bc
×3≡a(mod 100),其中50 < a < 100。
也就是說,將輸入的「兩位數
bc 乘以3,再除以100得餘數 r。如果 50 < r
< 100,那麼 a=r,而且N=167」。
如果餘數r介於0和50之間,則a=100-r且N=133。
如果餘數r介於51和100之間,則a=r且N=167。