java - 如何在三角数列中查找所选数字的行号?

标签 java if-statement

我试图在这个选定的方 block 中找到行号:

enter image description here

例如,如果我选择 getRow(17),我会得到 answer = 6。我什至不知道从哪里开始。有人可以指出我正确的方向吗?

class RowShelf{
   public static void main(String[] args) {
      getRow(24); // ans = 7
      getRow(17); // ans = 6
   }

   public static int getRow(int sq){

  }
}

最佳答案

对于三角数 n,其中 r 是行号:

n = r(r+1) / 2
=> r^2 + r - 2n = 0

直接的数学表达式是:

r = (sqrt(8n+1)-1) / 2

为此编写代码。

关于java - 如何在三角数列中查找所选数字的行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39515036/

相关文章:

java - 什么是 Java 中的 <init> 方法?它可以被覆盖吗?

java - 配置 spring-boot 项目使用 SSL 后响应为空

java - Log4j2 突出显示模式在文本编辑器中不起作用?

java - 是否可以在java中的if else语句中更新变量

java - 如何检查输入是否为 double

php - 如何使文件编辑成为有条件的?

MySql如何通过 `END AS`或另一个 `CASE`检查另一个条件来获取 `IF`语句的 `CASE`

c - 将 if/else 替换为 while/if 语句

oop - 避免 if 语句

C# Message.CreateMessage() Android/Java 等效项