Board logo

标题: 百钱买百鸡,共有几种买法 [打印本页]

作者: anqing     时间: 2007-2-7 10:59    标题: 百钱买百鸡,共有几种买法

用100块钱买鸡,价格如下:公:5$, 母:3$, 小:1$两只, 让你求一共多少种买法?
编一个p,怎么编?求教!

[ Last edited by anqing on 2007-2-7 at 11:46 AM ]
作者: namejm     时间: 2007-2-7 11:36
CODE:  [Copy to clipboard]
@echo off
setlocal enabledelayedexpansion
for /l %%i in (0,1,20) do (
    for /l %%j in (0,1,33) do (
        for /l %%k in (0,2,100) do (
            set /a money=5*%%i+3*%%j+%%k/2
            set /a chook=%%i+%%j+%%k
            if !money! equ !chook! if !money! equ 100 (
                set /a num+=1
                echo !num!: %%i+%%j+%%k
            )
        )
    )
)
echo      百钱买百鸡,共有 %num% 种买法。
pause

作者: anqing     时间: 2007-2-7 11:38
还得仔细研究版主的p呀
作者: kernelv     时间: 2007-2-7 11:39
晕,版主贴出来了,并且我发现我把题目看错了。小鸡是1$两只。
不好意思,删了。。。

[ Last edited by kernelv on 2007-2-6 at 10:41 PM ]
作者: ccwan     时间: 2007-2-7 20:55
C
作者: anqing     时间: 2007-2-7 22:17
谁能用vbs写出来?
作者: anqing     时间: 2007-2-8 08:55
『第 6 楼』:  

谁能用vbs写出来?

最后挺一下
作者: jmz573515     时间: 2007-2-10 00:08
CODE:  [Copy to clipboard]
for g=0 to 20
for m=0 to 33
for x=0 to 100 step 2
if 5*g+3*m+1/2*x=100 and g+m+x=100 then
n=g & "+" & m & "+" & x
s=s & n & vbcrlf
end if
next
next
next
msgbox s
[ Last edited by jmz573515 on 2007-2-9 at 11:10 AM ]
作者: anqing     时间: 2007-2-10 00:32
学习了
作者: dglsy     时间: 2007-2-14 07:46
c语言里的例子,居然让楼主演的如此漂亮,真是佩服哦。让我长了见识,谢谢楼主了
作者: slore     时间: 2007-2-14 08:13
For i = 0 To 20  
        For j = 0 To 33
            k = 100 - i - j
作者: slore     时间: 2007-2-15 02:46
For i = 0 To 20 Step 2
        For j = 0 To 33 Step 2
k = 100 - i - j

If k / 2 + 3 * j + 5 * i = 100 Then
n = i & "+" & j & "+" & k
s = s & n & vbCrLf
End If

Next
Next
For i = 1 To 19 Step 2
        For j = 1 To 34 Step 2
k = 100 - i - j

If k / 2 + 3 * j + 5 * i = 100 Then
n = i & "+" & j & "+" & k
s = s & n & vbCrLf
End If

Next
Next

MsgBox s
作者: qingfushuan     时间: 2007-2-15 06:14    标题: 不好意思-----------------------悄悄问一声

为啥公鸡得20只以下,母鸡33只以下呢?
作者: slore     时间: 2007-2-15 06:27
公:5$, 母:3$
作者: qingfushuan     时间: 2007-2-15 07:14    标题: 哦,

连条件都没看清楚啊
作者: anqing     时间: 2007-2-15 08:01
For i = 1 To 19 Step 2
        For j = 1 To 34 Step 2
k = 100 - i - j

If k / 2 + 3 * j + 5 * i = 100 Then
n = i & "+" & j & "+" & k
s = s & n & vbCrLf
End If

Next
Next

MsgBox s

12楼的代码,精简了,一个for,效率大增。加分
作者: 6622186     时间: 2007-3-22 11:18
为什么会有0呢? 不应该都大于0?




欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) Powered by Discuz! 2.5