【问题标题】:Number Power , multiple of 3数幂,3的倍数
【发布时间】:2015-01-24 17:31:53
【问题描述】:

我们有一个数字 N 和成本 C,(范围 N

数字转换规则如下:

1)一个数字可以转换成其他位数相同且没有前导零的数字。 2)一个数字转换成另一个数字的成本是对应数字的绝对差之和。例如,将 235 转换为 331 的成本为 5(因为相应数字的绝对差为 |3−2|+|3−3|+|1−5| ,即 |1|+0+|−4| =5。 现在我们需要找出在最大预算(卢比)范围内可以做多少个 3 的倍数。

我的方法: 我首先尝试使用 3 的整除规则并找到 N 的数字总和 现在如果成本只是数字差的总和,那么我们可以简单地做的就是使总和成为 3 的倍数 比如 2+3+5 = 10 成本是 2 我们可以将其设为 12,这可以通过将任何数字 2 、 3 或 5 增加 2 来实现 435,255, 237 这是正确的吗? 当c是绝对和时,在这种情况下如何解决它

【问题讨论】:

  • 这看起来像家庭作业。摘自 StackOverflow 帮助中心:3. Questions asking for homework help must include a summary of the work you've done so far to solve the problem, and a description of the difficulty you are having solving it.
  • 但事实并非如此。我在网上发现了这个问题,很想知道如何解决它
  • 静止。你没有表现出任何试图解决问题的迹象。
  • @akrasuski1 我不知道。为什么你对这个问题投了反对票?

标签: math logic aptitude


【解决方案1】:

cost(a,b)表示将a转化为b的成本,并定义

 N(a,c) = # { b | cost(a,b) = c }

即,N(a,c)a 的成本恰好为 c 的数字的数量。

让我们进一步假设_a_能被3整除。那么我们感兴趣的数字是:

 answer = N(a,0) + N(a,3) + N(a,6) + N(a,9) + ... + N(a,99)

如果 a 是 1 mod 3 我们想要总和 N(a,2) + N(a,5) + ... + N(a,98) em>。

要计算N(a,c),对于a中的每个数字d,构造一个多项式P(d) 在哪里 x^k 的系数是 [0..9] 中正好是 k 的位数 远离d。这些系数将始终为 0、1 或 2。

例如,对于 a = 3496,多项式为:

  d   1  x  x^2 x^3 x^4 x^5 x^6 x^7 x^8 x^9
 -- --- --- --- --- --- --- --- --- --- ---   
  3   1   2   2   1   1   1   1   0   0   0
  4   1   2   2   2   2   1   0   0   0   0
  9   1   1   1   1   1   1   1   1   1   1
  6   1   2   2   2   1   1   1   0   0   0

N.B.: 数字 3 的 x^3 系数 是 1 而不是 2,因为不允许使用前导零。

现在将多项式相乘,N(a,c)x^c 的系数 在生成的产品中。

【讨论】:

    猜你喜欢
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多