有朋友在留言板问了一个数学问题,希望采用计算机语言来描述,由于那边字数限制,所以就来这边回答,顺便将思路也写一下,毕竟计算机描述跟我们人算是完全两码事。
题目是这样的:有100个和尚吃100个馒头,大和尚1人吃4个,小和尚4人吃1个,问有多少个大和尚和多少个小和尚?
这道数学题目用计算机来做,可以有两种方法,一种是类似破解密码所用的穷举法,从1算到100,方法如下:
假设大和尚为X人,小和尚为(100-X)人,其中X小于100,(100-X)能被4整除,那么有:
X*4 + (100-X)/4 = 100,其中X<100,(100-X) mod 4 = 0。用VB语言来描述为:
Dim X As Long
For X = 1 To 100
If (100 -
X) Mod 4 = 0 Then
If X * 4 + (100 - X) / 4 = 100 Then
MsgBox
'小和尚有' & 100 - X & '人,大和尚有' & X & '人。'
Exit
For
End If
题目是这样的:有100个和尚吃100个馒头,大和尚1人吃4个,小和尚4人吃1个,问有多少个大和尚和多少个小和尚?
这道数学题目用计算机来做,可以有两种方法,一种是类似破解密码所用的穷举法,从1算到100,方法如下:
假设大和尚为X人,小和尚为(100-X)人,其中X小于100,(100-X)能被4整除,那么有:
X*4 + (100-X)/4 = 100,其中X<100,(100-X) mod 4 = 0。用VB语言来描述为:
