【问题标题】:Java Infinite Loop Problem - With Unknown VariableJava 无限循环问题 - 带有未知变量
【发布时间】:2021-04-07 07:08:25
【问题描述】:

我正在学习 Coursera 的一门课程。我正在尝试使用未知变量为他们的无限循环问题找到解决方案。

问题是:

int i = 1;
while (<<?>>) {
    i = i*n;
}

应该写什么来代替 > 以使循环在 i 至少为 34 时结束?您可以假设 n 是一个 int 变量,它已在此代码之前声明并赋予了一个值(n 的值不影响此问题的答案)。

我尝试了条件,i % 34 = 0i&lt;=34 等,但我找不到正确的答案。他们并没有为这个问题提供解决方案。

在不知道 n 值的情况下如何解决这个问题?

【问题讨论】:

  • 不要只是猜测。关于它的原因。 i至少(不是“大于”,略有不同)34 是什么意思?什么是否定的?
  • while 语句中的条件决定了循环是否应该继续运行。那么如果循环应该在i 为“至少34”时结束,那么循环应该在什么条件下继续运行?

标签: java variables while-loop infinite-loop


【解决方案1】:

i&lt;=34 几乎是正确的,但要求是在i 至少为 34 时结束循环。即,如果 i 为 34,则循环应该继续,这意味着您应该使用 &lt; 运算符,而不是 &lt;= 运算符:

while (i < 34) {
    i = i*n;
}

【讨论】:

  • 谢谢老哥的回复,已经解决了。你能解释一下这个问题的逻辑吗?其实我看不懂。
  • @B4CK3NDD3V 我以为我做到了,让我再试一次。语句“当 i 至少为 34 时循环结束”意味着如果 i 大于或等于 34 则循环应该结束 - 如果我们反转该条件(因为 while 循环有一个条件定义它何时执行 运行),我们得到 i 小于 34,或者在 java 中 i &lt; 34
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-03
  • 2021-09-02
相关资源
最近更新 更多