我需要创建一个程序来测试用户输入的给定数字是否为三角数。
我创建了一个只给出所有三角数列表的脚本,但在这个程序中,用户需要输入一个数字,程序将必须确定该数字是否为三角形。
最佳答案
自从您引用的维基百科文章指出
整数 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/