English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在此示例中,您将学习检查 n 位整数是否是 Armstrong 数字。
要理解此示例,您应该了解以下Python 编程主题:
عدد صحيح يُدعى درجة أرستيد، إذا كان n
abcd... = an + bn + cn + dn + ...
إذا كان الرقم ثلاثي هو عدد أرستيد، فإن مجموع الأرقام المثلثة يساوي الرقم نفسه. على سبيل المثال:
153 = 1*1*1 + 5*5*5 + 3*3*3 // 153 هو عدد أرستيد.
# برنامج Python لفحص عدد أرستيد # قبول إدخال المستخدم num = int(input("أدخل رقم: ")) # تهيئة sum sum = 0 # حساب مجموع أرقام الأعداد المثلثة temp = num while temp > 0: digit = temp % 10 sum += digit ** 3 temp //= 10 # عرض النتيجة if num == sum: print(num, "هو عدد أرستيد") else: print(num, "ليس عدد أرستيد")
الخروج: 1
أدخل رقم: 456 456 ليس عدد أرستيد
الخروج: 2
أدخل رقم: 407 407 هو عدد أرستيد
في هذا المثال، نطلب من المستخدم إدخال رقم، ثم نتحقق مما إذا كان هو عدد أرستيد.
نحتاج إلى حساب مجموع الأرقام المثلثة لكل رقم. لذلك، سنقوم بتهيئة مجموع الأرقام المثلثة إلى 0 ونستخدمعامل المودول (%))الحصول على كل رقم. العدد المتبقي عند تقسيم الرقم على 10 هو الرقم الأخر.
في النهاية، سنقارن مجموع الأرقام المثلثة بالرقم الأصلي، وسنستنتج إذا كانت متساوية فإنه هو عدد أرستيد.
num = 1634 # تحويل متغير num إلى نص # حساب طول (عدد الأرقام) order = len(str(num)) # تهيئة sum sum = 0 # حساب مجموع أرقام الأعداد المثلثة temp = num while temp > 0: digit = temp % 10 sum += digit ** order temp //= 10 # عرض النتيجة if num == sum: print(num, "هو عدد أرستيد") else: print(num, "ليس عدد أرستيد")
يمكنك تغيير قيمة num في الكود المصدر، ثم تشغيل البرنامج مرة أخرى لاختباره.