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

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


เมื่อต้องการตรวจสอบว่าตัวเลขที่กำหนดเป็น Harshad number หรือไม่ สามารถใช้ลูปธรรมดาและตัวดำเนินการ '%', '+', '//' ได้

Harshad number เรียกอีกอย่างว่า Niven number เป็นตัวเลขที่ฐานเป็นจำนวนเต็มที่หารด้วยผลรวมของหลักของมันได้ลงตัวเมื่อเขียนในฐานค่านั้น

ตัวอย่าง

my_num = 134
remaining = sum_val = 0
print("A copy of the number to be checked is being made...")
my_num_copy = my_num
while my_num > 0:
    remaining = my_num % 10
    sum_val = sum_val + remaining
    my_num = my_num // 10
if my_num_copy % sum_val == 0:
    print(str(my_num_copy) + " is a Harshad number")
else:
    print(str(my_num_copy) + " isn't a Harshad number")

ผลลัพธ์

A copy of the number to be checked is being made...
134 isn't a Harshad number

คำอธิบาย

  • กำหนดตัวเลข
  • กำหนดตัวแปร sum = 0
  • ตรวจสอบตัวเลขมากกว่า 0 ทำ modulus operation
  • บวกผลลัพธ์เข้ากับ 'sum' และหารตัวเลขเอาส่วนเต็มด้วย 10 อีกครั้ง
  • หากเศษเมื่อหารตัวเลขกับ sum เป็น 0 ถือว่าเป็น Harshad number
  • มิฉะนั้น ไม่ถือว่าเป็น Harshad number