这是我朋友在谷歌面试时被问到的一个问题。他当时无法想出解决方案,但最终还是得到了这份工作。以下是问题:
你得到了300个数字,其中包括100个1,100个2和100个3,请设计一种算法来确定所有完全平方数。
我也尝试了一段时间,但卡住了。对于该如何解决此问题是否有任何想法?
你得到了300个数字,其中包括100个1,100个2和100个3,请设计一种算法来确定所有完全平方数。
我也尝试了一段时间,但卡住了。对于该如何解决此问题是否有任何想法?
printf ("{}\n");
所讨论的集合为空集(数字的各位数之和可被3整除但不可被9整除)。
n.m 的答案当然很好。
很容易看出,唯一一个可以使其平方的最后一位为{1,2,3}之一的数字是以9为个位数字的数。现在,如果我们使用9作为数字的最后一位,使其平方为这些组合中的一个,我们很快就会发现,在十位数字和9的个位数字中没有10的数字可以在它的平方的十位数字中涉及到{1,2,3}。
可能,这个解释回答了一个问题,例如“300个数字的任何组合是否都有平方根为1,2和3”?