学编程解数学题——字谜游戏
女儿的作业中今天出现了这样一道题,话不多说直接上题。题目分析:
这是一个三位数与三位数的加法运算。并且是有进位的加法,由此我们可以判断出千位上的“真”是1,
而百位上“好”+“真”----->“好”+“1”由此可以推断出“好”的取值有两种
“好”=9或者“好”=8,而无论好等于9或是8,都可以推断出“是”=0
如果:“好”=9时,十位上无进位,“呀”+“是”="好"------->“呀”+0="9"------->
“好”+“好” ="呀"-------> 9 +9=18-------->"呀"=8
如果:“好”=8时,十位上有进位,“呀”+“是”="好"------->“呀”+0="9"------->6+0+1(进位)不等于9
“好”+“好” ="呀"-------> 8 +8=16-------->"呀"=6
由此得出结论:好=9
最终得出结果:1098
程序解法:
老规矩循环加判断,我也不用分析啥,直接A,B,C,D四个变量。A=真,B=是,C=好,D=呀
根据题意得出其取值范围:
A:1;
B:0-9
C: 0-9
D:0-9
依据上述条件编制循环。
条件判断条件
好呀好=好*100+呀*10+好;
真是好=真*100+是*10+好;
真是好呀=真*1000+是*100+好*10+呀
for 是0 to 9
for 好0 to 9
for 呀0 to 9
if真*1000+是*100+好*10+呀=(好*100+呀*10+好)+(真*100+是*10+好)then
print 真*1000+是*100+好*10+呀
end if
next 呀
next 好
next 是
样例代码:
运行结果:
厉害厉害 {:6_215:}厉害厉害
页:
[1]