【问题标题】:Counting integers?计算整数?
【发布时间】:2016-10-18 18:01:42
【问题描述】:

您好,我正在做作业,当我遇到这个问题时,我感到很困惑。可能是我想多了,但谁能向我解释它想要什么?我很确定它有一个 for 或一个 while 循环,但我不确定。

问题来了

给定三个整数 a、b 和 c,返回 a 到 b 范围内所有数字的计数,包括 c 的倍数。

例如)

countHowMany(1, 10, 2) → 5

countHowMany(2, 10, 3) → 3

countHowMany(3, 3, 3) → 1

现在我能从中抽出的只是基础知识

Int countHowMany(int a, int b, int c) {

能告诉我从这里怎么走吗?

【问题讨论】:

  • 设计一个先解决问题的算法。然后用Java实现上述算法。

标签: java loops integer


【解决方案1】:

是的,它肯定会有某种类型的决策循环。还要考虑 %modulus operator

【讨论】:

【解决方案2】:
public int countHowMany(int a, int b, int c) {
    int total = 0;
    for (int i = a; i <= b; i++) {
        if (i % c == 0) {
            total++;
        }
    }
    return total;
}

【讨论】:

  • 应该是 i
  • 如果您不介意我问,您能解释一下它是如何实现 for 循环的吗?我只是在没有经验的情况下潜入 Java,如果我问的是愚蠢的,请原谅。
  • 使用 for 循环,我在第一部分创建了一个名为 i 的变量,其值为 a,然后我告诉 Java 循环遍历代码,只要 i 小于或等于 b第二部分和第三部分我告诉它每次循环时将 i 增加 1。您可以阅读此链接以获取更多信息java-examples.com/loop
  • for 循环是一种非常幼稚的方法 - 一个 O(n) 解决方案。老师可能想看看 O(1) 解。
猜你喜欢
  • 2021-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-25
  • 1970-01-01
  • 2017-09-20
相关资源
最近更新 更多