ที่นี่เราจะดูวิธีการตรวจสอบตัวเลขว่าเป็นเลขกฤษณะมูรตีหรือไม่ ตัวเลขคือเลขกฤษณมูรตี ถ้าผลรวมของแฟคทอเรียลของแต่ละหลักตรงกับตัวเลข ตัวอย่างเช่น ถ้าตัวเลขคือ 145 ผลรวม =1! +4! +5! =1 + 24 + 120 =145 นี่คือเลขกฤษณมูรตี
ตรรกะง่าย ๆ เราต้องหาแฟกทอเรียลของตัวเลขแต่ละตัว แล้วหาผลรวม ถ้าค่านั้นตรงกับตัวเลขที่ระบุ ตัวเลขนั้นก็คือเลขกฤษณมูรตี ให้เราดูโค้ดเพื่อความเข้าใจที่ดีขึ้น
ตัวอย่าง
#include <iostream> #include <cmath>> using namespace std; long factorial(int n){ if(n <= 1){ return 1; } return n * factorial(n - 1); } bool isKrishnamurty(int number) { int temp = number; int sum = 0; while(number > 0){ sum += factorial(number % 10); number /= 10; } if(sum == temp){ return true; } return false; } int main() { int n = 145; if(isKrishnamurty(n)){ cout << n << " is Krishnamurty Number"; } else { cout << n << " is not Krishnamurty Number"; } }
ผลลัพธ์
145 is Krishnamurty Number