C ++で数値が魔法(桁の再帰和が1)であるかどうかを確認します
ここでは、数字がマジックナンバーであるかどうかをチェックできる1つのプログラムを紹介します。数字の再帰的な合計が1の場合、数値はマジックナンバーと呼ばれます。数値が50311 =5 + 0 + 3 + 1 + 1 =10 =1 + 0 =1のようであるとすると、これはマジックナンバーです。
数字が魔法かどうかを確認するには、1桁の数字に達するまで数字を追加する必要があります。
例
#include <iostream> using namespace std; int isMagicNumber(int n) { int digit_sum = 0; while (n > 0 || digit_sum > 9) { if (n == 0) { n = digit_sum; digit_sum = 0; } digit_sum += n % 10; n /= 10; } return (digit_sum == 1); } int main() { int number = 50311; if(isMagicNumber(number)){ cout << number << " is magic number"; } else { cout << number << " is not magic number"; } }
出力
50311 is magic number
-
数値がC++で2つの三角数の合計として表現できるかどうかを確認します
このセクションでは、1つの数を2つの三角数の合計として表現できるかどうかを確認します。三角数は以下のようになります- 例から、1、3、6、10はいくつかの三角数であることがわかります。数N(たとえば16)を2つの三角数(6、10)の合計として表す必要があります。 アプローチは非常に簡単です。 N未満のすべての三角数を取得する必要があります。これらの値からセットを作成します。ここで、集合からXと言う数を取り、N – Xが集合に存在するかどうかを確認する必要があります。そうすると、Xは2つの三角数の合計として表すことができます。 例 #include <iostream> #
-
指定された数値の桁を合計するC++プログラム
これは、C++言語で桁の合計を計算する例です。 例 #include<iostream> using namespace std; int main() { int x, s = 0; cout << "Enter the number : "; cin >> x; while (x != 0) { s = s + x % 10; x = x / 10;