找到所有完美的正方形,这些正方形是大约300位数的排列

时间:2011-09-18 05:37:20

标签: algorithm permutation

这是一段时间前谷歌采访中向我的朋友询问的问题。他无法提出解决方案,但无论如何最终还是把这份工作打包好了。这是问题

  

你已经获得了300个数字,包括100个数字,100个二进制和100个三分数,现在提出了一个算法,可以确定所有这些数字是一个完美的正方形

我尝试了一段时间,但我很难过。关于如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:55)

   printf ("{}\n"); 

有问题的集合为空(数字的总和可以被3整除,但不会被9整除)。

答案 1 :(得分:0)

n.m的答案当然很棒。

很容易看出,唯一可以将其正方形放在{1,2,3}中的最后一位数的数字是以单位数字开头的数字为9.现在,如果我们使用9作为最后一位数字一个与其中一个组合平方的数字,我们很快就会发现没有10位数字和9位数字位数可以在其方格的第10位数字中给出一个涉及{1,2,3}的数字。

可能这个解释回答了一个问题,“300个数字与1,2和3的组合是否有平方根”?