จำนวนที่รัดกุมคือตัวเลขที่ผลรวมของแฟคทอเรียลของตัวเลขทั้งหมดเท่ากับตัวเลข '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' และผลรวมเท่ากัน จะถือเป็นตัวเลขสตริง