C++でax– by=0となるようなxとyの最小値を見つけます
2つの値aとbがあるとします。 ax – by =0となるようにxとyを見つける必要があります。したがって、a=25およびb=35の場合、x=7およびy=5です。
これを解決するには、aとbのLCMを計算する必要があります。 aとbのLCMは、両側を等しくすることができる最小値になります。 LCMは、この式を使用した数値のGCDを使用して見つけることができます-
LCM(a、b)=(a * b)/ GCD(a、b)
例
#include<iostream> #include<algorithm> using namespace std; void getSmallestXY(int a, int b) { int lcm = (a * b) / __gcd(a, b); cout << "x = " << lcm / a << "\ny = " << lcm / b; } int main() { int a = 12, b = 26; getSmallestXY(a, b); }
出力
x = 13 y = 6
-
C ++でa%b =kとなるような配列内のすべてのペア(a、b)を検索します
配列Aがあるとすると、その配列から、a%b =kとなるようにすべてのペア(a、b)を取得する必要があります。配列がA=[2、3、4、5、7]、k =3であるとすると、ペアは(7、4)、(3、4)、(3、5)、(3、7)になります。 これを解決するために、リストをトラバースして、指定された条件が満たされているかどうかを確認します。 例 #include <iostream> using namespace std; bool displayPairs(int arr[], int n, int k) { bool pairAvilable = true;
-
xとその桁の合計がC++で指定されたnと等しくなるような数xを見つけます
ここで、1つの問題が発生します。ここで、数値nを取得する場合、x +桁の合計xが指定された数値nと同じになるように、xなどの別の値を見つける必要があります。 nの値が21であると仮定します。このプログラムは、15+桁の合計15、つまり15 + 1 + 5 =21=nとして数値x=15を返します。 この問題を解決するには、単純なアプローチに従う必要があります。 1からnまで繰り返し、各繰り返しで、数値とその桁の合計の合計が数値と同じであるかどうかを確認し、停止します。それ以外の場合は続行します。 例 #include<iostream> using namespace std; i