C ++でa、b、cからすべてのゼロを削除した後、a + b=cが有効かどうかを確認します
3つの数値a、b、cがあるとすると、数値からすべての0を削除した後、a + b=cかどうかを確認する必要があります。数値がa=102、b =130、c =2005であるとすると、0を削除すると、数値はa + b =c:(12 + 13 =25)になります。これはtrueです
数値からすべての0を削除し、0を削除した後、a + b=cかどうかを確認します。
例
#include <iostream> #include <algorithm> using namespace std; int deleteZeros(int n) { int res = 0; int place = 1; while (n > 0) { if (n % 10 != 0) { //if the last digit is not 0 res += (n % 10) * place; place *= 10; } n /= 10; } return res; } bool isSame(int a, int b, int c){ if(deleteZeros(a) + deleteZeros(b) == deleteZeros(c)) return true; return false; } int main() { int a = 102, b = 130, c = 2005; if(isSame(a, b, c)) cout << "a + b = c is maintained"; else cout << "a + b = c is not maintained"; }
出力
a + b = c is maintained
-
C++のBSTからの床と天井
ここでは、BSTから床と天井の値を見つける方法を説明します。たとえば、空きノードがBSTに配置されているメモリ管理システムを作成する場合です。入力リクエストに最適なものを見つけます。キー値よりも大きい最小のデータでツリーを下に移動するとします。3つのケースが考えられます。 ルートが鍵です。その場合、ルート値は上限値です ルートデータ<キーの場合、上限値は左側のサブツリーにないため、右側のサブツリーに進み、問題のあるドメインを減らします キーの場合、上限値は右側のサブツリーにある可能性があり、左側のサブツリーにキーよりも大きいデータを持つノードが見つかる可能性があります。そのような要素が存在し
-
C++で対角行列とスカラー行列をチェックするプログラム
行列M[r][c]が与えられた場合、「r」は行数を示し、「c」はr=cが正方行列を形成するような列数を示します。与えられた正方行列が対角であるかどうかを確認する必要があります およびスカラー 対角の場合、行列かどうか およびスカラー マトリックスを作成し、結果にyesを出力します。 対角行列 正方行列m[][]は、主対角を除く要素がゼロの場合にのみ対角行列になります。 下の図のように- ここで、赤の要素は主対角線であり、主対角線がゼロであることを除いてゼロ以外の残りの要素であり、対角行列になっています。 。 例 Input: m[3][3] = { {7, 0, 0},