一层的三角形一共有1个点,二层的三角形一共有3个点:三层的三角形一共有6个点:"
s.-....-!
N层的三角形一共有N*(N÷1)/2个点。。
现在给定一个数口,请判断n个点是否可以构成上述形状的三角形。。输入:"
输入一个正整数o(1<n<500)。输出:。
如果符合条件,则输出 YES,否则输出 NO-样例输入:1+1
样例输出:" YES:
补充测试数据: Testlin:55.
TestLout: YES-
Test2in:100-
Test2.out: NO
n = int(input())
i = 1
sum = 0
flag = 0
while sum < n:
sum = (1 + i) *i // 2
if sum == n:
print("YES")
flag = 1
i = i + 1
if flag == 0:
print("NO")
o = int(input())
count = 0
n = 1
while count < o:
count = n * (n+1) // 2
n += 1
if count == o:
print('YES')
else:
print('NO')
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!我这里理解为给定三条边的长度,如何判断它们是否能构成三角形,如果是的话,是什么样的三角形。
首先根据三角形的定义,任意两边之和大于第三边。
代码实现如下:
public static String triangleType(int a, int b, int c) {
if (a + b > c && a + c > b && b + c > a) {
if (a == b && b == c) {
return "等边三角形";
} else if (a == b || a == c || b == c) {
// 两边相等的情况,需要用a==b&&b==c判断,否则等边三角形会被判定为等腰三角形
return "等腰三角形";
} else {
return "普通三角形";
}
} else {
return "非三角形";
}
}
其中,三角形类型分为等边三角形、等腰三角形、普通三角形和非三角形。
测试代码如下:
public static void main(String[] args) {
System.out.println(triangleType(3, 4, 5)); //普通三角形
System.out.println(triangleType(3, 3, 3)); //等边三角形
System.out.println(triangleType(3, 3, 4)); //等腰三角形
System.out.println(triangleType(1, 2, 3)); //非三角形
}
输出结果如下:
普通三角形
等边三角形
等腰三角形
非三角形