【问题标题】:Sequence/series printing in java [closed]java中的序列/系列打印[关闭]
【发布时间】:2018-01-27 22:24:52
【问题描述】:

我想用 Java 编写一个代码,它可以输入用户的任何整数值,并将输出作为连续数字的总和 = 输入。所有的可能性。

例如

输入 15 输出

  1. 7+8
  2. 4+5+6
  3. 1+2+3+4×5

【问题讨论】:

  • 那么你自己想出了什么?代码在哪里?
  • @LucianovanderVeekens 现在看看。其实我是在问代码。
  • 示例 3 应该是 1+2+3+4+5 而不是 1+2+3+4x5

标签: java loops series


【解决方案1】:

假设你尝试自己想出任何算法,你应该会发现残酷的算法不太可能解决这个问题。我假设您需要的是算法而不是代码本身。

让我们假设[a,b] 范围内的所有整数与您的输入相加。所以你最终会得到这个等式(b+a) (b-a+1) / 2 = input。在输入 = 15 的情况下,(b+a)(b-a+1) 将是 input * 2 的两个因子,即 30。

因此(a,b)有四种可能

  1. (b+a, b-a+1) = (30, 1), 所以 (a,b)=(15,15)
  2. (b+a, b-a+1) = (15, 2), 所以 (a,b)=(7,8)
  3. (b+a, b-a+1) = (10, 3), 所以 (a,b)=(4,6)
  4. (b+a, b-a+1) = (6, 5), 所以 (a,b)=(1,5)

总的来说,这个问题本质上是问你如何分解一个数字。

【讨论】:

    猜你喜欢
    • 2015-01-04
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多