อาจจะเป็นประโยชน์แก่ตัวผู้ที่สนใจจะต้องการศึกษา Logic Programming นี้ด้วย
Code: Select all
<?php
$num=153; //ประกาศตัวแปร $num เก็บค่า 153
$total=0; //ประกาศตัวแปร $total เก็บค่า 0
$x=$num; //ประกาศตัวแปร $x เก็บค่า $num
while($x!=0) //Step 04 - วน Loop $x ไม่เท่ากับ 0 , ถ้า $x เท่ากับ 0 , loop จะหยุดทำงาน
{
$rem=$x%10; //Step 01 - คำนวณ $x%10 หารเอาเศษ , เพื่อเอาเลข 3 ตัวท้ายสุดของ 153
$total=$total+$rem*$rem*$rem; //Step 02 - คำนวณ $total + ($rem*$rem*$rem : คูณกัน 3 ครั้ง) เช่น $total = 0 + 5*5*5
$x=$x/10; //Step 03 - คำนวณ $x/10 , โดยทำการหาร 10 , เพื่อตัดเลข 3 ท้ายออก จนเหลือ 15
}
if($num==$total) //Step 05 - ใช้เงื่อนไขตรวจสอบว่า ทั้งสองตัวแปร มีค่าเท่ากันไหม
{
echo $total." Yes it is an Armstrong number"; //Step 06 - ถ้าเท่ากัน ให้แสดงผล Yes it is an Armstrong number
}
else
{
echo $total." No it is not an armstrong number"; //Step 07 - ถ้าไม่เท่ากัน ให้แสดงผล No it is an Armstrong number
}
?>
ข้อสรุป
การคำนวณ Armstrong number ในรูปแบบคณิตศาสตร์ , สามารถมองภาพรวมการทำงานออกได้ง่าย , แต่ถ้าเป็นรูปแบบ Programming จะมองภาพรวมทิศทางในการเขียนยากกว่า , เราต้องรู้ว่าควรจะเขียนเริ่มต้นจากจุดไหน โดยใช้หลักเหตุและผล เข้ามาช่วยในการแก้ปัญหา
แหล่งข้อมูลอ้างอิง
https://www.phptpoint.com/php-program-to-find-armstrong-number/
https://www.educba.com/armstrong-number-in-php/
แหล่งอ้างอิงรูปภาพ
https://www.faceprep.in/python/armstrong-in-python/