-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest.rb
More file actions
33 lines (32 loc) · 1.06 KB
/
test.rb
File metadata and controls
33 lines (32 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Прямоугольный треугольник.
# Программа запрашивает у пользователя 3 стороны треугольника
# и определяет, является ли треугольник прямоугольным,
# используя теорему Пифагора (www-formula.ru) и выводит результат на экран.
# Также, если треугольник является при этом равнобедренным
# (т.е. у него равны любые 2 стороны), то дополнительно выводится информация о том,
# что треугольник еще и равнобедренный.
# Подсказка: чтобы воспользоваться теоремой Пифагора,
# нужно сначала найти самую длинную сторону (гипотенуза)
# и сравнить ее значение в квадрате с суммой квадратов двух остальных сторон.
# Если все 3 стороны равны, то треугольник равнобедренный и равносторонний,
# но не прямоугольный.
puts "Enter a b c of triangle (with delimiter ','):"
sides = gets.chomp.split(',').map(&:to_f).sort
a, b, c = sides
k = 0
if a == b && b == c
puts 'triangle is equilateral and isosceles'
k ++
else
if a**2 + b**2 == c**2
puts 'triangle is rectangular'
k++
end
if sides.uniq.length != sides.length
puts 'triangle is isosceles'
k++
end
end
if k == 0
puts 'triangle is common'
end