


『甲』『乙』『丙』『丁』『戊』伍祗『馬騮仔』相約摘桃,日落後斟酌,聽朝再蒞分桃.
入夜後『甲』『馬騮』先蒞, 左等右等其它『馬騮仔』都未蒞,先将桃『平分5份』, 仲多出『1個桃』, 佢覚得自己甘辛苦,多喫『1個桃』都應份, 喫多出蒞『1個桃』後兼拎走『1份桃』. 净低『4份桃』推翻埋一堆.
『乙』『馬騮』跟住蒞, 先将桃『平分5份』, 仲係多出『1個桃』, 喫多出蒞『1個桃』後再拎走『1份桃』. 净低『4份桃』推翻埋一堆.
其它『馬騮仔』相繼前後腳蒞, 『分桃伍份』,多出『壹個桃』喫咗落肚, 後拎走『壹份桃』. 净落『4份桃』堆翻埋一堆.
問『甲』『乙』『丙』『丁』『戊』伍祗『馬騮仔』至小摘幾多桃?
問『戊』馬騮走後,仲剩幾多桃?
此題出自英國物理學家『保羅·狄拉克』. 系電腦時代,變得喫生菜咁喫.
| 『分桃伍份』,多出『壹個桃』喫咗落肚, 後拎走『壹份桃』. |
即『x = x – 1 – (x / 5)』
| bool test(int x)
{ // 多出『壹個桃』吃咗落肚, 後拎走『壹份桃』. if ((x % 5) != 1)// 『甲』 return false; x = x – 1 – (x / 5);
if ((x % 5) != 1)// 『乙』 return false; x = x – 1 – (x / 5);
if ((x % 5) != 1)// 『丙』 return false; x = x – 1 – (x / 5);
if ((x % 5) != 1)// 『丁』 return false; x = x – 1 – (x / 5);
if ((x % 5) != 1)//『戊』 return false; return true; } |
自1開始,暴力測試.
| for (x = 1; ; ++x) {
if (test(x) == true) { printf(“桃總量=%i\r\n”, x); break; } } |
問『戊』馬騮走後, 仲剩幾多桃 ?
| int caleX5 (int x){
// 多出『壹個桃』喫咗落肚, 後拎走『壹份桃』. x = x – 1 – (x / 5); x = x – 1 – (x / 5); x = x – 1 – (x / 5); x = x – 1 – (x / 5); x = x – 1 – (x / 5); return x; } |

