在C中找到高达10,000,000的正方形

时间:2011-10-12 20:27:02

标签: c math

3个连续数字11,12和13的平方和是434(即121 + 144 + 169 = 434)。数字434从两个方向读取相同的内容,称为回文。我需要找出小于10^7的数字之和,它可以表示为连续平方和的结果 回文。如果在2个不同的序列中,重复一个数字,则求和 他们两次。也就是说,如果11个连续数字序列中出现11,则将其相加两次。

我需要根据上述情况编写一个程序。

我的理解是我们必须找到高达10,000,000的方格,然后是所有数字。我该如何编写程序来在C中执行此操作?

2 个答案:

答案 0 :(得分:0)

您可能需要一个for循环来增加变量?使用此变量,您可以生成3个连续数字..然后总结平方数字...如果它高于您的最大数字,则停止循环。如果它低于你,检查它是否是一个palindrom?

答案 1 :(得分:0)

使用蛮力方式就是这样一种方式。

i迭代一个变量1 to 10^7 - 2,这样你就可以得到前三个变量值(包括i)的平方和,并找出它是否是回文。

即。在i=5循环中for时 你需要找到i ^ 2 +(i + 1)^ 2 +(i + 2)^ 2是否是回文。

我不确定你是否需要long long来计算正方形。