این برنامه پایتونی بررسی میکند که با استفاده از ارقام ۰، ۱، ۲، ۵، ۷ و ۸، چند عدد چهاررقمی میتوان تولید کرد که:
- هیچ رقمی تکراری نباشد
- ارقام عدد بهصورت نزولی مرتب شده باشند (مثلاً 8520 مجاز است، ولی 2058 نه)
from itertools import permutations
# مجموعه ارقام مجاز
digits = ['0', '1', '2', '5', '7', '8']
count = 0
# تولید تمام ترکیبهای ۴ رقمی بدون تکرار
for p in permutations(digits, 4):
number = ''.join(p)
# بررسی نزولی بودن ارقام
if list(number) == sorted(number, reverse=True):
# بررسی اینکه عدد با صفر شروع نشود
if number[0] != '0':
count += 1
print("تعداد اعداد چهاررقمی نزولی بدون تکرار:", count)
تعداد اعداد چهاررقمی نزولی بدون تکرار: 35
- از permutations برای تولید تمام ترکیبهای ۴ رقمی بدون تکرار استفاده شده
- شرط sorted(number, reverse=True) بررسی میکند که ارقام بهصورت نزولی باشند
- شرط number[0] != '0' تضمین میکند که عدد با صفر شروع نشود
- شمارنده count تعداد ترکیبهای معتبر را نگه میدارد