我试图在其中找到所选方块中的行号:
例如,如果我选择,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){
}
}
Run Code Online (Sandbox Code Playgroud)
对于三角形数 n,其中 r 是行号:
n = r(r+1) / 2
=> r^2 + r - 2n = 0
Run Code Online (Sandbox Code Playgroud)
直接的数学表达式为:
r = (sqrt(8n+1)-1) / 2
Run Code Online (Sandbox Code Playgroud)
为此进行编码。
| 归档时间: |
|
| 查看次数: |
1522 次 |
| 最近记录: |