查找两位数python结果的程序

2024-04-26 17:24:51 发布

您现在位置:Python中文网/ 问答频道 /正文

a写两个数字的程序, 不要尝试“手动”),这样我们就得到一个两位数的AB(比如说 A=8,B=9,则数字为89),因此AB*AB=CAB 一些数字C。因此,如果你把AB平方,你会得到一个3位数的数字。这个 AB^2中的最后两个数字是AB,但第一个数字是一些C,可能 与A或B无关


Tags: 程序ab数字手动位数两位数cab
3条回答

在伪代码中,您可以简单地执行以下操作:

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,因此它不应该太难转换,但是您的第一步应该是理解它是如何工作的。为此,您应该在头脑中运行代码,填写一个变量表,如:

^{pr2}$

你越早开始像机器一样思考,你就会成为一个更好的程序员——只要确保你不要把所有的社交技能都用上,它们在你生活中的某些时候还是会派上用场的:-)

作为暴力的替代方法,花两分钟思考一下这个问题。想想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

相关问题 更多 >