~2 min read • Updated Oct 8, 2025
شرح برنامه
این برنامه مجموعهای از اعداد را دریافت کرده و تمام ترکیبهای سهتایی ممکن را بررسی میکند.
هدف این است که مشخص شود آیا هر سه عدد میتوانند اضلاع یک مثلث باشند یا نه.
برای این منظور، از شرط نامساوی مثلثی استفاده میکنیم:
برای هر سه عدد a, b, c باید داشته باشیم:
\[
a + b > c,\quad a + c > b,\quad b + c > a
\]
کد پایتون:
from itertools import combinations
def is_valid_triangle(a, b, c):
return a + b > c and a + c > b and b + c > a
def find_valid_sets(numbers):
valid = []
for combo in combinations(numbers, 3):
if is_valid_triangle(*combo):
valid.append(combo)
return valid
# اجرای برنامه
nums = list(map(int, input("اعداد را با فاصله وارد کنید: ").split()))
valid_sets = find_valid_sets(nums)
print(f"تعداد مجموعههای معتبر: {len(valid_sets)}")
for s in valid_sets:
print(f"مجموعه معتبر: {s}")
نمونه خروجی:
اعداد را با فاصله وارد کنید: 3 4 5 6 10
تعداد مجموعههای معتبر: 4
مجموعه معتبر: (3, 4, 5)
مجموعه معتبر: (3, 5, 6)
مجموعه معتبر: (4, 5, 6)
مجموعه معتبر: (5, 6, 10)
توضیح مراحل:
- ابتدا تمام ترکیبهای سهتایی از لیست اعداد تولید میشود
- هر ترکیب با شرط نامساوی مثلثی بررسی میشود
- ترکیبهایی که معتبر باشند در خروجی نمایش داده میشوند
Written & researched by Dr. Shahin Siami