对于给定正整数 k,我们称 k * (k + 1) / 2 为三角数。身为学习委员的小明认为三角数的判断太简单了,想请参加编程兴趣班的你判断一个数是不是双倍三角数。比如256 = (2 * 3 / 2) + (22 * 23 / 2),即256可以由两个三角数相加得到,他便是双倍三角数,而253则不是双倍三角数,因为无法找到两个三角数相加得到他。
对于给定正整数 k,我们称 k * (k + 1) / 2 为三角数。身为学习委员的小明认为三角数的判断太简单了,想请参加编程兴趣班的你判断一个数是不是双倍三角数。比如256 = (2 * 3 / 2) + (22 * 23 / 2),即256可以由两个三角数相加得到,他便是双倍三角数,而253则不是双倍三角数,因为无法找到两个三角数相加得到他。
第一行一个正整数T表示需要判断的样例数(1≤T≤200)。
接下来T行,每行一个正整数 x 代表你要判断的正整数(1≤x≤10^12)。
对于每个正整数 x,若是双倍三角数,则输出”YES”;否则输出”NO”。
5 2 6 8 16 7
YES YES NO YES YES
以上样例中,8不是双倍三角数,其余均是双倍三角数。
根据题目数据范围 x 变量您应该使用long long。