2024-04-26 17:24:51 发布
网友
a写两个数字的程序, 不要尝试“手动”),这样我们就得到一个两位数的AB(比如说 A=8,B=9,则数字为89),因此AB*AB=CAB 一些数字C。因此,如果你把AB平方,你会得到一个3位数的数字。这个 AB^2中的最后两个数字是AB,但第一个数字是一些C,可能 与A或B无关
在伪代码中,您可以简单地执行以下操作:
def findAB (c): c = c multiplied by 100 for a in 0..9: # or possibly 1..9 for b in 0..9: set ab to a multiplied by 10 plus b if (ab multiplied by ab) is equal to (c plus ab): return (a,b) return nothing
我对伪代码的首选语言非常接近Python,因此它不应该太难转换,但是您的第一步应该是理解它是如何工作的。为此,您应该在头脑中运行代码,填写一个变量表,如:
你越早开始像机器一样思考,你就会成为一个更好的程序员——只要确保你不要把所有的社交技能都用上,它们在你生活中的某些时候还是会派上用场的:-)
作为暴力的替代方法,花两分钟思考一下这个问题。想想A——最小的数字是多少?最大的是什么?想想B——B有一些特殊的地方,一些特殊的属性,只有10个数字中的4个有。最后,您仍然需要循环使用a和B的两组数字,但是如果您只使用一组可能的数字,您将显示您在解决方案中投入了一些明智的想法。正如我之前所说的,这个问题可以推广到一些有趣的更大的例子,例如,你可以找到一个数ABCDEF,当平方等于ABCDEF时。在
附加:你认为有一个最大可能的数字有这个属性吗?在
简单地说,在代码中:
for a in range(1,10): for b in range(10): ab = a*10+b ab2 = ab*ab if (ab2 % 100) == ab: print "a=",a,", b = ",b
在伪代码中,您可以简单地执行以下操作:
我对伪代码的首选语言非常接近Python,因此它不应该太难转换,但是您的第一步应该是理解它是如何工作的。为此,您应该在头脑中运行代码,填写一个变量表,如:
^{pr2}$你越早开始像机器一样思考,你就会成为一个更好的程序员——只要确保你不要把所有的社交技能都用上,它们在你生活中的某些时候还是会派上用场的:-)
作为暴力的替代方法,花两分钟思考一下这个问题。想想A——最小的数字是多少?最大的是什么?想想B——B有一些特殊的地方,一些特殊的属性,只有10个数字中的4个有。最后,您仍然需要循环使用a和B的两组数字,但是如果您只使用一组可能的数字,您将显示您在解决方案中投入了一些明智的想法。正如我之前所说的,这个问题可以推广到一些有趣的更大的例子,例如,你可以找到一个数ABCDEF,当平方等于ABCDEF时。在
附加:你认为有一个最大可能的数字有这个属性吗?在
简单地说,在代码中:
相关问题 更多 >
编程相关推荐