gpt4 book ai didi

algorithm - 坚持看似微不足道的算法任务

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:50:22 27 4
gpt4 key购买 nike

Being given a positive integer n for the input, output a list of consecutive positive integers which, summed up, will make up this number or IMPOSSIBLE if it can't be done. In case of multiple possible anwers, output any with the least summands.

这是几天前举行的 CERC 竞赛的一个问题,虽然我可以使用自己编造的一些奇怪的理论来解决它,但我不知道如何优雅地解决它。

我知道不能生成 2^i 形式的数字,其中 i 是一个非负整数,并且任何奇数都可以以 floor(n/2)+(floor( n/2)+1) 但是当谈到偶数时,我对一些优雅的解决方案一无所知,我听说它可以用一个公式来解决。我考虑过除以数字直到剩下奇数,然后尝试将这个奇数的加数放在偶数的中心,或者尝试将数字除以奇数放在中间,但它没有听起来不错,更不用说优雅了。一些团队在不到 10 分钟的时间内就解决了这个问题,所以我上面提到的路线几乎肯定是错误的,我想得太多了。

解决这个问题最好最快的方法是什么?

最佳答案

mn的一组正整数之和是

 n(n + 1)/2 - m(m - 1)/2

(即从 1n 的数字总和减去从 1m - 1 的总和)这是

((n^2 - m^2) +(n + m))/2

这是

 (n + m)( n - m + 1)/2

所以如果你需要让一些 x 等于 x

2x = (n + m)(n - m + 1)

所以寻找 2x 的因子,看看哪个符合该模式

关于algorithm - 坚持看似微不足道的算法任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27028136/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com