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

โปรแกรม Python เช็คว่าตัวเลขเป็นตัวเลขที่แข็งแกร่งหรือไม่


จำนวนที่รัดกุมคือตัวเลขที่ผลรวมของแฟคทอเรียลของตัวเลขทั้งหมดเท่ากับตัวเลข 'n' แฟกทอเรียลบอกเป็นนัยเมื่อเราพบผลคูณของตัวเลขทั้งหมดด้านล่างตัวเลขนั้นรวมถึงตัวเลขนั้นด้วย และแสดงด้วย ! (เครื่องหมายอัศเจรีย์) เช่น 5! =5x4x3x2x1 =120 เมื่อจำเป็นต้องตรวจสอบว่าตัวเลขเป็นตัวเลขที่คาดเดายากหรือไม่ สามารถใช้ตัวดำเนินการเศษ/โมดูลัสและลูป "ในขณะที่" ได้

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

ตัวอย่าง

my_sum=0
my_num = 296
print("The number is")
print(my_num)
temp = my_num
while(my_num):
   i=1
   fact=1
   remainder = my_num%10
   while(i<=remainder):
      fact=fact*i
      i=i+1
   my_sum = my_sum+fact
   my_num=my_num//10
if(my_sum == temp):
   print("The number is a strong number")
else:
   print("The number is not a strong number")

ผลลัพธ์

The number is
296
The number is not a strong number

คำอธิบาย

  • ผลรวมเริ่มต้นเป็น 0

  • หมายเลขถูกกำหนดและแสดงบนคอนโซล

  • ตัวเลขถูกกำหนดให้เป็นตัวแปรชั่วคราว

  • วง while ถูกใช้เพื่อกำหนดส่วนที่เหลือ

  • ในขณะที่ลูปถูกใช้อีกครั้งเพื่อดูว่าตัววนซ้ำน้อยกว่าหรือเท่ากับส่วนที่เหลือหรือไม่

  • หากน้อยกว่านี้ ตัวแปร 'fact' จะถูกคูณด้วยตัววนซ้ำ

  • จากนั้นจะเพิ่มขึ้นทีละ 1

  • ค่าผลรวมจะถูกเพิ่มเข้าไปในตัวแปร 'ข้อเท็จจริง'

  • หากตัวแปร 'temp' และผลรวมเท่ากัน จะถือเป็นตัวเลขสตริง