小编Alu*_*hka的帖子

贷款计算器任务 - 如何通过贷款期限找到每月付款?

在我要测试正确性的编程问题中,我遇到了以下情况,我担心我不知道好的解决方案.

http://codeabbey.com/index/task_view/mortgage-calculator

简而言之:这是给定规模的贷款,P按利率逐月增加,然后减去R% / 12客户的每月付款M.在L几个月的债务减少到零(即客户支付出来).

它看起来是给定的P,M而且R我可以很容易地计算出L用简单的循环.但这是相反的任务 - 我要找到M给定贷款期限的每月付款L以及PR.

我想也许我可以使用二进制搜索来测试不同的变体M并反复计算L它们......但我不确定这是否合适 - 我想知道可能存在一些我找不到的直接数学解法?

提前致谢!

algorithm math

4
推荐指数
1
解决办法
1836
查看次数

使用 O(N) 原地旋转字符串

我遇到了一个简单的(如我所想的)旋转弦的练习:

将字符串旋转 K 个字符意味着从头开始剪切这些字符并将它们转移到末尾。如果 K 为负数,则字符,相反应从末尾转移到开头。

我立即发明了使用两个子字符串连接的解决方案。但是,我发现了以下补充:

如果您想要更严峻的挑战,我们鼓励您“就地”进行轮换

任务来自这里- 确保它不是我的大学作业等

我看不到任何简单的方法来做到这一点(我想应该有 O(N) 算法)。如果我将第 0 个字符复制到临时变量并将第 K 个字符复制到它的位置,然后将第 2K 个字符复制到第 K 个等的位置 - 如果 K 和字符串长度是互质的,我会成功。我想我可以管理其他 Ks 添加外循环来重复从第 1 个字符开始的过程,然后是第 2 个等 - 我认为最多 GCD(K, strlen(S))

但它看起来太笨拙了。

string algorithm optimization

1
推荐指数
1
解决办法
1932
查看次数

标签 统计

algorithm ×2

math ×1

optimization ×1

string ×1