java - 返回一个整数,其数字之和恰好为 n

标签 java digits

我的问题与数字和有关。

在数字和系统中,数字 39 = 3 + 9 = 12 的数字和。

但是就我而言,我想编写一个方法,其中用户输入 12,然后 方法将返回 39,因为 39 是达到位数和 12 的最小数字。

如果我们可以在伪代码中讨论这个问题,那就太好了,因为我更感兴趣的是学习开发一种方法/算法/公式来解决这个难题。

提示使用队列。我还尝试过以下方法:

数量%9; number/9,它很接近,但似乎并不适用于所有情况。

一个例子是:

12%9 = 3

12/9 = 1; if( ans = 1, 返回 9)

因此 3 和 9 将是 39。我知道我已经很接近了,但我尝试对 111 这样的数字使用相同的方法,但这不再起作用了。

最佳答案

最小的数字始终采用“x9...9999”的形式,其中 x 是单个数字(可能是 0)。

您需要做的就是找到:

  • x 的值:n % 9
  • 有多少个 9:n/9

对于 111:

  • n % 9 为 3。
  • n/9 是 12。

所以答案是 3999999999999。

关于java - 返回一个整数,其数字之和恰好为 n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13008373/

相关文章:

java - 在 Excel 中将单元格拆分为字符串 - Apache POI JAVA

java - 传递分离实体以将 Spring 持久化为一对多关系

java - 如何修复 org.jvnet.mimepull.MIMEParsingException?

java - 用某些小数创建 0.000..

正则表达式捕获两个数字之间的第一个字符串

java - Java中如何获取当前工作目录?

java - Java 中的 Excel 格式设置

c++ - 为什么 float 变量通过以一种奇怪的方式在点后切割数字来保存值?

java - 获取数字的最后一位

javascript - LeetCode : 1281. 整数的乘积与位数之和相减