Állapítsd meg, hogy egy háromszög equilateral, isosceles vagy scalene.
Az equilateral háromszög mindhárom oldala ugyanolyan hosszú.
Az isosceles háromszögnek legalább két oldala ugyanolyan hosszú. (Néha úgy szokták megadni, hogy pontosan két oldala ugyanolyan hosszú, de ebben a feladatban legalább kettőt értünk alatta.)
A scalene háromszög minden oldala különböző hosszú.
Ahhoz, hogy egy alakzat egyáltalán háromszög legyen, minden oldalának 0-nál nagyobbnak kell lennie, és bármely két oldal hosszának összege legalább akkora kell legyen, mint a harmadik oldal hossza.
A degenerált háromszögek olyan háromszögek, amelyekben két oldal hosszának összege egyenlő a harmadik oldal hosszával, például 1, 1, 2.
Úgy döntöttünk, hogy ebben a feladatban nem teszünk bele teszteket degenerált háromszögekre.
Ha szeretnél, foglalkozhatsz ezekkel az esetekkel, vagy nyugodtan figyelmen kívül hagyhatod őket.
Képletekkel kifejezve:
Legyen a, b és c a háromszög oldalai.
Ekkor az alábbi három kifejezés mindegyikének igaznak kell lennie:
a + b ≥ c
b + c ≥ a
a + c ≥ b
Lásd: háromszög-egyenlőtlenség
Ehhez a feladathoz egy egyszerű S3-osztályt kell megvalósítanod. Ha még nem ismered az S3-at, remek kiindulópont Hadley Wickham Advanced R című könyvének S3-ról szóló fejezete.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) R nyelvet 21 fogalom111 feladat segítségével, valódi emberi mentorálással, mindez ingyen.