Sirius·Black 2023-08-01 14:24 采纳率: 97.2%
浏览 4
已结题

关于#C++#的问题,如何解决?

DEV-C++问题
用到的代码最好不要太高级
题目描述
一定数目的点或圆在等距离的排列下可以堆成一个等边三角形。

前 6 个三角形堆分别需要 1 3 6 10 15 21个点。

img

第 n 三角形数是从 开始的n 个自然数的和,即 n(n+1)/2

给定一个正整数x,请你判断 x 个圆 能否构成两个三角形堆(可以相同)。

输入输出格式
输入格式:
测试含多组数据,第一行为T
接下来T行,每行一个正整数 x。

输出格式:
输出T行,如果 x 可以表示为两个三角形数之和,则输出 YES,否则输出 NO。

输入输出样例
输入样例#1:
2
256
512
输出样例#1:
YES
NO
提示信息
数据范围
前 6 个测试点满足 1≤x≤1000。
所有测试点满足 1≤x≤10^9。

  • 写回答

4条回答 默认 最新

查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月3日
  • 已采纳回答 8月1日
  • 创建了问题 8月1日