Krishnamurthy数是一个数字的阶乘和等于数字本身的数。例如145,每个数字的阶乘之和: 1! + 4! + 5! = 1 + 24 + 120 = 145
null
例如:
Input : 145Output : YESExplanation: 1! + 4! + 5! = 1 + 24 + 120 = 145, which is equal to input,hence YES.Input : 235Output : NOExplanation: 2! + 3! + 5! = 2 + 6 + 120 = 128, which is not equal to input, hence NO.
这个想法很简单,我们计算所有数字的阶乘之和,然后将其与n进行比较。
C++
// C++ program to check if a number // is a krishnamurthy number #include <bits/stdc++.h> using namespace std; // Function to calculate the factorial of any number int factorial( int n) { int fact = 1; while (n != 0) { fact = fact * n; n--; } return fact; } // function to Check if number is krishnamurthy bool isKrishnamurthy( int n) { int sum = 0; int temp = n; while (temp != 0) { // calculate factorial of last digit // of temp and add it to sum sum += factorial(temp % 10); // replace value of temp by temp/10 temp = temp / 10; } // Check if number is krishnamurthy return (sum == n); } // Driver code int main() { int n = 145; if (isKrishnamurthy(n)) cout << "YES" ; else cout << "NO" ; return 0; } |
JAVA
// Java program to check if a number // is a krishnamurthy number. import java.util.*; import java.io.*; class Krishnamurthy { // function to calculate the factorial // of any number static int factorial( int n) { int fact = 1 ; while (n != 0 ) { fact = fact * n; n--; } return fact; } // function to Check if number is krishnamurthy static boolean isKrishnamurthy( int n) { int sum = 0 ; int temp = n; while (temp != 0 ) { // calculate factorial of last digit // of temp and add it to sum sum += factorial(temp % 10 ); // replace value of temp by temp/10 temp = temp / 10 ; } // Check if number is krishnamurthy return (sum == n); } // Driver code public static void main(String[] args) { int n = 145 ; if (isKrishnamurthy(n)) System.out.println( "YES" ); else System.out.println( "NO" ); } } |
Python3
# Python program to check if a number # is a krishnamurthy number # function to calculate the factorial # of any number def factorial(n) : fact = 1 while (n ! = 0 ) : fact = fact * n n = n - 1 return fact # function to Check if number is # krishnamurthy/special def isKrishnamurthy(n) : sum = 0 temp = n while (temp ! = 0 ) : # calculate factorial of last digit # of temp and add it to sum rem = temp % 10 sum = sum + factorial(rem) # replace value of temp by temp / 10 temp = temp / / 10 # Check if number is krishnamurthy return ( sum = = n) # Driver code n = 145 if (isKrishnamurthy(n)) : print ( "YES" ) else : print ( "NO" ) # This code is contributed by Prashant Aggarwal |
C#
// C# program to check if a number // is a krishnamurthy number. using System; class GFG { // function to calculate the // factorial of any number static int factorial( int n) { int fact = 1; while (n != 0) { fact = fact * n; n--; } return fact; } // function to Check if number is // krishnamurthy static bool isKrishnamurthy( int n) { int sum = 0; int temp = n; while (temp != 0) { // calculate factorial of // last digit of temp and // add it to sum sum += factorial(temp % 10); // replace value of temp // by temp/10 temp = temp / 10; } // Check if number is // krishnamurthy return (sum == n); } // Driver code public static void Main() { int n = 145; if (isKrishnamurthy(n)) Console.Write( "YES" ); else Console.Write( "NO" ); } } // This code is contributed by nitin mittal. |
PHP
<?php // PHP program to check if a number // is a krishnamurthy number // Function to find Factorial // of any number function factorial( $n ) { $fact = 1; while ( $n != 0) { $fact = $fact * $n ; $n --; } return $fact ; } // function to Check if number // is krishnamurthy function isKrishnamurthyNumber( $n ) { $sum = 0; // Storing the value in // other variable $temp = $n ; while ( $temp != 0) { // calculate factorial of last digit // of temp and add it to sum $sum = $sum + factorial( $temp % 10); // Integer Division // replace value of temp by temp/10 $temp = intdiv( $temp , 10); } // Check if number is krishnamurthy return $sum == $n ; } // Driver code $n = 145; if (isKrishnamurthyNumber( $n )) echo "YES" ; else echo "NO" ; // This code is contributed by akash7981 ?> |
Javascript
<script> // Javascript program to check if a number // is a krishnamurthy number // Function to find Factorial // of any number function factorial(n) { let fact = 1; while (n != 0) { fact = fact * n; n--; } return fact; } // Function to check if number // is krishnamurthy function isKrishnamurthyNumber(n) { let sum = 0; // Storing the value in // other variable let temp = n; while (temp != 0) { // Calculate factorial of last digit // of temp and add it to sum sum = sum + factorial(temp % 10); // Integer Division // replace value of temp by temp/10 temp = parseInt(temp / 10); } // Check if number is krishnamurthy return sum == n; } // Driver code let n = 145; if (isKrishnamurthyNumber(n)) document.write( "YES" ); else document.write( "NO" ); // This code is contributed by _saurabh_jaiswal </script> |
输出:
YES
有趣的是,我们只知道克里希那穆提的四个数字,即1、2、145和40585。
本文由 丹麦卡里姆 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END