0661 - Triunghiuri1
Cerință
Se dau n numere naturale distincte. Determinaţi câte triunghiuri distincte pot avea lungimile laturilor printre aceste numere.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n numere naturale.
Date de ieșire
Programul va afișa pe ecran numărul C, reprezentând numărul de triunghiuri determinate
Restricții de precizări
- 1 ⩽ n ⩽ 1000
- cele n numere citite vor fi mai mici decât 1.000.000
Exemplul 1
- Intrare
- 5
- 3 5 10 7 6
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 7
Rezolvare ver. 1
<syntaxhighlight lang="python" line="1" start="1"> def validare(n, nums):
return n.isdigit() and 1 <= int(n) <= 1000
def triunghuri(n, nums):
nums = [] for i in range(n): count = 0 for i in range(n-2): for j in range(i+1, n-1): for k in range(j+1, n): if nums[i]+nums[j] > nums[k] and nums[i]+nums[k] > nums[j] and nums[j]+nums[k] > nums[i]: count += 1
print("Numărul de triunghiuri distincte este:", count)
if __name__ == '__main__':
n = int(input("Introduceți numărul de elemente: ")) nums = (int(input("Introduceți numărul: ")))
if validare(n, nums):
n, nums = int(n), int(nums) print("Datele introduse corespund restricțiilor impuse.") triunghuri(n, nums)
else:
print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>