4452| 2
|
学编程解数学题——字谜游戏 |
女儿的作业中今天出现了这样一道题,话不多说直接上题。 题目分析: 这是一个三位数与三位数的加法运算。并且是有进位的加法,由此我们可以判断出千位上的“真”是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 是 样例代码: 运行结果: |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed