【发布时间】:2013-03-06 01:58:24
【问题描述】:
该练习要求找出从 1 到 500 的数字中的哪一个,即数字特定数字的总和,乘以三次方等于该特定数字。
例如 1^3=1 和 371 使 3^3+7^3+1^3 = 371
我是如何解决这个问题的:
我在想如果我可以有一个包含 500 个插槽的字符串数组,每个插槽包含一个字符串转换后的数字,那么我可以对每个插槽的字符串进行数学运算。如果他们符合我将应用的标准,那么将打印该插槽。
我尝试了 sprintf 函数但没有成功。在一个循环中,它只是初始化字符串(或者它是数组?3 小时后我很困惑)[0] 插槽,而所有其他插槽保持不变。
我不想让你解决这个练习,而不是用我的逻辑来指导我。如果你愿意,请让我添加我所做的代码。
【问题讨论】:
-
面对您的想法的最佳方式是实施它并了解它是如何运作的。然后当你以后遇到一些具体的问题时,你可能会回到这里再次询问。
-
首先编写一个函数,它接受一个数字作为输入参数,并通过分别返回 1 或 0 来告诉您该数字是否满足指定条件。
-
很高兴你写了一些关于如何解决它的想法,但是这里的人们想看看你实际尝试了什么。
-
请不要使用字符串来解决数学问题。您将很快耗尽内存和 CPU 时间。使用模算术和整数除法从数字中获取特定数字。
-
0、1、153、370、371 和 407 只是 1 到 500 之间的数字。直接打印出来 ;)