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

ตรวจสอบว่าตัวเลขเป็นหมายเลข Krishnamurthy หรือไม่ใน C++


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