java - C语言算法题-韩信点兵 求解?
高洛峰
高洛峰 2017-04-18 10:53:25
0
2
677


完全不知道怎么下手??

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆(2)
大家讲道理

這個。 。 。不知道怎麼說才好。 。 。

設共有 n 個人,三人一排,五人一排,七人一排,看最後一排剩下 a, b, c 人
不就是

n % 3 = a
n % 5 = b
n % 7 = c

下面不就很簡單了麼?
方法 1: 暴力
n 從 10 到 100 都試試看。這個不用我說了

方法 2: 數學方法(解同餘式-初等數經)

例題:
n % 3 = 2
n % 5 = 4

可以轉化成什麼呢?

设 n / 3 = x 余 2, n / 5 = y 余 4
==> 3x + 2 = 5y + 4
==> 3x = 5y + 2
x,y 在 自然数的最小解是 x = 4, y = 2
==> n 最小是 12
3 和 5 的最小公倍数 = 15
所以 n % 15 == 12

三個的話,先算兩個,再算第三個。

Peter_Zhu

雷雷

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!