检查一个数字是否是克里希那穆提的数字

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
喜欢就支持一下吧
点赞6 分享