番号がC++でクリシュナムルシー番号であるかどうかを確認します
ここでは、クリシュナムルティ番号かどうかを確認する方法を説明します。各桁の階乗の合計が数値と同じである場合、数値はクリシュナムルティ数です。たとえば、数値が145の場合、sum =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
-
C ++で多数が2、3、5で割り切れるかどうかを確認します
ここでは、数値が2、3、5で割り切れるかどうかを確認する方法を説明します。この場合、その数は非常に多い数です。したがって、数値を文字列として入力します。 数値が2、3、5のLCMで割り切れる場合、その数値は2、3、5で割り切れます。したがって、2、3、5のLCMは30です。数値が30で割り切れるかどうかを確認する必要があります。数値は、10で割り切れる(最後の桁が0)ときは30で割り切れる、3で割り切れる(すべての桁の合計は3で割り切れる) 例 #include <bits/stdc++.h> using namespace std; bool isDiv30(string nu
-
C++で多数が11で割り切れるかどうかを確認します
ここでは、数値が11で割り切れるかどうかを確認する方法を説明します。この場合、その数は非常に多い数です。したがって、数値を文字列として入力します。 数値が11で割り切れるかどうかを確認するには、奇数の位置の値の合計と偶数の位置の値の合計が同じである場合、その数値は11で割り切れます。 例 #include <bits/stdc++.h> using namespace std; bool isDiv11(string num){ int n = num.length(); long odd_sum = 0, even_sum =