主题:又一道QBASIC题。
Dannysss
[专家分:0] 发布于 2007-05-07 02:08:00
甲、乙、丙三人买糖果。三人都买好了以后,甲对乙、丙说,我可以按你们现有的糖果数再送你们一份。甲送给乙、丙后,乙也按甲、丙现有的糖果数,送给甲、丙每人各一份。丙也如此送了甲、乙各一份。互相赠送后。每人恰好各有64颗糖果。问甲、乙、丙原来各买了多少糖果?
回复列表 (共6个回复)
沙发
moz [专家分:37620] 发布于 2007-05-07 11:43:00
设: 未知数x,y,z
1> x1=x-y-z
y1=y*2
z1=z*2
2> x2=x1*2
y2=y1-x1-z1
z2=z1*2
3> x3=x2*2
y3=y2*2
z3=z2-x2-y2
4> x3=64
y3=64
z3=64
所以:解方程得:
1> x2=x3/2=32
y2=y3/2=32
z2=z3+x2+y2=64+32+32=128
2> x1=x2/2=16
z1=z2/2=64
y1=y2+x1+z1=32+16+64=112
3> y=y1/2=56
z=z1/2=32
x=x1+y+z=16+56+32=64*3-56-32=104
得解:
甲104,乙56,丙32
编程: 因为数字并不大,可以实行筛选遍历.
板凳
moz [专家分:37620] 发布于 2007-05-07 12:03:00
n = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2
m = n * 3
FOR a = m \ 2 TO (m - 2)
FOR b = 1 TO (a - 1)
x = a
y = b
z = m - x - y
x = x - y - z
y = y * 2
z = z * 2
y = y - x - z
x = x * 2
z = z * 2
z = z - x - y
x = x * 2
y = y * 2
IF x = n AND y = n AND z = n THEN PRINT a, b, m - a - b
NEXT b, a
3 楼
Matodied [专家分:7560] 发布于 2007-05-07 13:37:00
用倒推,因为他们不管怎样变来变去,和总是不变的,因此我使用了表示和的变量s.
CLS
a1 = 64: a2 = 64: a3 = 64: s = 192
a1 = a1 / 2: a2 = a2 / 2: a3 = s - a1 - a2
a1 = a1 / 2: a3 = a3 / 2: a2 = s - a1 - a3
a2 = a2 / 2: a3 = a3 / 2: a1 = s - a2 - a3
PRINT a1, a2, a3
END
运行结果:
104 56 32
4 楼
wj19900818 [专家分:0] 发布于 2008-12-05 17:41:00
for x=1 to 192
for y=1 to 192
z= 192-x-y
if x-y-z=16 and 3*Y-x-z=32 and 7*z-x-y=64 then print "x=";x,"y=";y,"z=";z
next y,x
end
5 楼
qb追求者 [专家分:210] 发布于 2009-01-02 17:29:00
本人比较支持3楼小帅哥的做法,我一般就这么写
6 楼
三国风云 [专家分:140] 发布于 2009-01-05 15:34:00
暑假当中,妈妈让小慧帮忙修改英文资料,英文中还有一些统计数据(统计数据都是正整数,而且其前、后都有空格)。妈妈说:如果文档结尾处有“end”,则应当删除,文中所有的统计数据都要加上一个正整数m。你能编程序完成小慧的任务吗?
输入:m
待修改后的文档(字符串)
输出:修改后的文档(字符串)
例如:输入:13
There are 45 students in 32class.end
输出:There are 58 students in 32class.
我来回复