Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python ตรวจสอบว่าเป็น Disarium Number หรือไม่


เมื่อต้องการตรวจสอบว่าตัวเลขที่กำหนดเป็น Disarium number ให้คำนวณผลรวมของหลักยกกำลังตำแหน่งของแต่ละหลัก ก่อนหน้านั้นต้องหาจำนวนหลักในตัวเลข

Disarium Number คือตัวเลขที่ผลรวมของหลักยกกำลังตำแหน่งของแต่ละหลักเท่ากับตัวเลขเดิม

ตัวอย่าง

def length_calculation(num_val):
    length = 0
    while num_val != 0:
        length = length + 1
        num_val = num_val // 10
    return length

my_num = 192
remaining = sum_val = 0
len_val = length_calculation(my_num)
print("A copy of the original number is being made...")
num_val = my_num
while my_num > 0:
    remaining = my_num % 10
    sum_val = sum_val + int(remaining ** len_val)
    my_num = my_num // 10
    len_val = len_val - 1
if sum_val == num_val:
    print(str(num_val) + " is a disarium number !")
else:
    print(str(num_val) + " isn't a disarium number")

ผลลัพธ์

A copy of the original number is being made...
192 isn't a disarium number

คำอธิบาย

  • กำหนดเมธอด 'length_calculation' คำนวณจำนวนหลักในตัวเลข
  • คำนวณการหารเอาส่วนเต็มของตัวเลขและคืนค่าความยาว
  • กำหนดตัวเลข และแสดงบนคอนโซล
  • ใช้ modulus operation หาเศษ บวกเข้าตัวแปร sum
  • คูณกำลังของตำแหน่งกับตัวเลขเอง
  • เปรียบเทียบกับตัวเลข
  • หากเท่ากัน ถือว่าเป็น Harshad number มิฉะนั้นไม่ใช่