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

โปรแกรม Python เช็คว่าตัวเลขที่กำหนดเป็น Disarium Number


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

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

ด้านล่างนี้เป็นการสาธิตสำหรับสิ่งเดียวกัน -

ตัวอย่าง

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' ซึ่งคำนวณจำนวนหลักในตัวเลข
  • คำนวณการหารพื้นของตัวเลขและคืนค่าความยาวของตัวเลข
  • หมายเลขถูกกำหนดและแสดงบนคอนโซล
  • มันใช้การดำเนินการโมดูลัสเพื่อรับส่วนที่เหลือ และเพิ่มลงในตัวแปรผลรวม
  • กำลังของตำแหน่งนั้นคูณด้วยตัวมันเอง
  • เปรียบเทียบกับตัวเลข
  • ถ้าเท่ากัน แสดงว่าเป็นเลข Harshad ไม่เช่นนั้นจะไม่ใช่