java - 测试输入的数字是否为三角数

标签 java math

我需要创建一个程序来测试用户输入的给定数字是否为三角数。

我创建了一个只给出所有三角数列表的脚本,但在这个程序中,用户需要输入一个数字,程序将必须确定该数字是否为三角形。

最佳答案

自从您引用的维基百科文章指出

整数 x 是三角形当且仅当 8x + 1 是正方形

你当然可以让方 block 检查快一点,但这可以解决它:

public static boolean isTriangularNumber(long num) {
     long calc_num = 8*num+1;
     long t = (long) Math.sqrt(calc_num);
     if (t*t==calc_num) {
        return true;
     }
     return false;
}

关于java - 测试输入的数字是否为三角数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17493483/

相关文章:

java - 插入二叉搜索树的运行时间是 n^2?

java - java中3d空间值链表匹配的神经网络

将值映射到具有对数间距的单位刻度的算法

java - 用递归找到零点

algorithm - 输入的微小变化总是会导致输出发生较大变化的函数

c++ - 两个圆圈碰撞

java - 无路由到主机异常

java - Thymeleaf:将 webjar CSS 文件的内容插入样式标签

math - Javadoc 与方程式?

java - 使用 Java Config 覆盖 Autowiring setter