当前位置: 首页 > 知识库问答 >
问题:

如何返回加起来等于提供的整数n的整数列表

夏朗
2023-03-14

我有一个函数<code>公共静态列表

如果n=12,输出将是[5,5,2]因为5 5 2=12如果n=55,输出将是[5,5,5,5]因为5 5 5=25。如果n=3,输出将是[2,1]因为2 1=3。

我正在努力理解将它实现为代码背后的逻辑,所以这是我目前所知道的:

List<Integer> change(int n) {
    a = 5
    b = 2
    c = 1
    int[] j;
    if (a+b+c == n) {
         j.add(a)
         j.add(b)
         j.add(c) }
    }

有人可以解释解决此类问题背后的逻辑,以便我可以进行必要的更改吗?

谢谢。

共有2个答案

晏正豪
2023-03-14

听起来您会从使用诸如欧几里德最大公共分母算法之类的东西中受益。

这里有一个链接供你阅读:

https://www.khanacademy.org/computing/computer-science/cryptography/modarithmetic/a/the-euclidean-algorithm#:~:text=The 用于查找的欧几里得算法,= B⋅Q + R)

惠志
2023-03-14
  1. n

此外,列表与数组不同,您需要为其使用正确的构造函数,即

List<Integer> j = new ArrayList<>();

 类似资料:
  • 给定一个数组形式的未排序(多)整数集,求其和大于或等于常量整数x的最小基数子集。 我们的集合是{4 5 8 10 10},x=15,所以最小基数子集和 这个问题与以下问题相关但不同:给定一个n个整数的列表,找到大于X的最小子集和在前面的问题中,作者要求得到一个和最接近X的子集,这里我们想要任何子集

  • 问题内容: 从Java 1.5中,你几乎可以互换使用在许多情况下。 但是,我发现代码中存在潜在的缺陷,这让我有些惊讶。 如下代码: 值相等时,似乎无法正确设置不匹配,尽管我无法确定在什么情况下。我在Eclipse中设置了一个断点,发现值都为137,并且检查了布尔表达式,并说它是假的,但是当我越过它时,它会将不匹配设置为true。 将条件更改为: 解决了问题。 谁能阐明为什么会这样?到目前为止,我只

  • 问题内容: 我已经在Stack Overflow上重复了几次这个问题,但是没有一个人充分探讨这个问题(或者至少以一种对我有帮助的方式) 问题在于,数据库查询应在PHP中为整数列返回整数数据类型。而是查询将每一列作为字符串类型返回。 我已经确保“ PDO :: ATTR_STRINGIFY_FETCHES”为 false 只是为了确保结果不会被强制转换为字符串。 我见过的答案: 做不到 不,它可以在

  • 问题内容: 我有一个整数列表,我想生成一个包含所有连续整数列表的列表。 我有以下可行的方法,但似乎做起来很糟糕: 我已经看到其他问题,表明itertools.groupby是执行此操作的有效方法,但是我对该函数不熟悉,而且似乎在编写lambda函数来描述连续性方面遇到麻烦。 问题:是否有更好的方法(可能使用itertools.groupby?) 注意事项:full_list将具有1到59之间的整数

  • 我想找到小于或等于n的第k个根的最大整数 但是对于n=125,k=3,这给出了错误的答案!我碰巧知道5的立方是125 什么是更好的算法? 背景:2011年,这个失误让我打败了谷歌代码堵塞。https://code.google.com/codejam/contest/dashboard?c=1150486#s=p2

  • 我试着写一个代码,它接受一个介于1和1_000_000之间的整数,并返回一个比相同数字的整数大的最小整数,如果它不存在,则打印0。 举个例子 输入:156 输出165 输入330 输出0 输入27711 输出71127 我的问题是,下面的代码没有为其他输入返回正确的输出。 例如,在输入4231中,输出应该是4312。 我很难找到为每个输入返回正确输出的最佳算法。 TNX提前 }