这是一个关于C语言的奇怪程序题目

/*【程序42】
题目:809*??=800*??+9*??+1
其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果*/
这个题目 ,方程式根据分解方法 ,可以看出,右边总是比左边大1.所以这个题无解。这么理解对吗?

3个回答

qq_37279003
强仔! 回复黄国涛: 我就是仔细看了才这么说的,无论是网上的答案还是你给的答案 都没有判断809*??是否等于800*??+9*??,你去看下你发的答案就会发现式子里只有2个IF语句。
7 个月之前 回复
u010221760
黄国涛 回复强仔!: 你理解应该有问题,就像我们考试的时候审题一样,这种写法就代表=,只有没有+1才能求出两位数的答案,你仔细看下我发的链接,他输出的x就是答案。我感觉你现在的思路进入个死胡同了,你现在应该冷静休息下,过个几个小时再看下这个问题。
7 个月之前 回复
qq_37279003
强仔! 应该是有的,=不是相等而是赋值运算,而且答案中没有判断 这个式子是否成立 只是判断了前两项所以有答案
7 个月之前 回复

是无解。 809*??=(800+9)*??+1 我觉得这题可能结果不重要,主要是通过一层层的循环最后得到结果不重要,重要的是结构和解题思路

qq_43412960
qq_43412960 深刻
7 个月之前 回复
qq_37279003
强仔! 回复qq_43412960: 符合结果的只有12,因为在程序语言中 =不是判断是否相等而是赋值运算,不能用数学的思路来看,我看了下往上的结果,在判断的时候只是判断8*??是否为2位数和9*??是否为3位数,并没有判断这个式子是否成立!!
7 个月之前 回复
qq_37279003
强仔! 回复qq_43412960: 我看了下 没有答案吧,只不过是判断了一下是否能算出来
7 个月之前 回复
qq_43412960
qq_43412960 网上还有好多这个题的答案 。奇了怪了
7 个月之前 回复

??这个双问号应该不是表示一个变量 而是每一个??都表示一个变量 这个表达式感觉应该是809* x = 800 * y + 9 * z+1; 感觉完整的题目应该有一个输入范围 比如1-100的整数 而且不重复这样 可以把这个表达式转换成一个三个输入参数的函数 然后三重循环去穷举

qq_43412960
qq_43412960 谢谢
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐