gpt4 book ai didi

c++ - 数组 : mathematical sequence

转载 作者:太空宇宙 更新时间:2023-11-04 12:26:03 25 4
gpt4 key购买 nike

整数数组 A[i] (i > 1) 定义如下:元素 A[k] ( k > 1) 是大于 A[k-1] 的最小数,使得总和它的位数等于数字 4* A[k-1] 的位数之和。

您需要编写一个程序,根据给定的第一个元素 A[1] 计算此数组中的第 N 个数。

输入:在标准输入的一行中,有两个用一个空格分隔的数字:A[1] (1 <= A[1] <= 100) 和 N (1 <= N <= 10000)。

输出:标准输出应该只包含一个整数 A[N] ,即定义序列的第 N 个数。

输入:7 4

输出:79

解释:数组的元素如下:7、19、49、79……第4个元素是解。

我尝试通过编写一个单独的函数来解决这个问题,该函数对于给定的数字 A[k] 计算其数字的总和并找到大于 A[k-1] 的最小数字,如问题中所述,但没有成功。第一次测试由于内存限制而失败,第二次测试由于时间限制而失败,现在我不知道如何解决这个问题。一位 friend 建议递归,但我不知道如何设置。

任何能以任何方式帮助我的人请写信,并提出一些关于使用递归/DP 来解决这个问题的想法。谢谢。

最佳答案

这与递归无关,与动态规划几乎无关。您只需要找到可行的优化以使其足够快。只是一个提示,尝试理解这个解决方案:

http://codepad.org/LkTJEILz

关于c++ - 数组 : mathematical sequence,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2487351/

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