C++で2つの数を使用して構築できる数を数える
X、Y、Nの3つの数値が提供されます(範囲[1、N]を定義するため)。目標は、XとYを使用して任意の回数だけ作成できる[1、N]の範囲内のすべての数値を見つけることです。
たとえば、X=2およびY=3の場合。番号6は、2回(2 + 2 + 2)または3回(3 + 3)を使用して作成できます。同様に、7は2を2回、3を1回(2 + 2 + 3)使用して構築できます。
これを行うには、1からNまでの各数値からXまたはYを減算します。最終的な数値が0に減少した場合は、カウントをインクリメントします。
例を挙げて理解しましょう。
入力
N=10 X=4, Y=3
出力
Total numbers constructed using X & Y only: 7
説明
Numbers constructed by 3 and 4 only: 3, 4, 6 (3+3), 7 (3+4), 8 (4+4), 9 (3+3+3), 10 (3+3+4)
入力
N=10 X=5, Y=4
出力
Total numbers constructed using X & Y only: 5
説明
Numbers constructed by 4 and 5 only: 4, 5, 8(4+4), 9 (4+5), 10 (5+5)
以下のプログラムで使用されているアプローチは次のとおりです
-
X、Y、Nの3つの整数を取ります。
-
関数constructNums(int n、int x、int y)は、xとyのみを使用して作成できる数値の数を返します。
-
このような数値の場合、初期変数カウントを0とします。
-
forループを使用して数値の範囲をトラバースします。 i=1からi<=n
-
ここで、num =iごとに、whileループを使用してnum>0かどうかを確認します。
-
while(num%x ==0)で、numが0でない場合は、xを減算します。
-
while(num%y ==0)で、numが0でない場合は、yを減算します。
-
xとyを引いた後、数値が両方で割り切れず、両方よりも大きい場合。xとyの両方を減算します。
-
外側のwhileループの後で、numが0かどうかを確認します。x、y、またはその両方がnumになる可能性があることを意味します。インクリメントカウント。
-
すべてのループの最後に、カウントには合計数が含まれます。
-
結果としてカウントを返します。
例
#include <bits/stdc++.h> using namespace std; int constructNums(int n,int x,int y){ int count = 0; for (int i = 1; i <= n; i++) { int num = i; while(num>0){ while((num%x)==0 && num!=0) num-=x; while((num%y)==0 && num!=0) num-=y; if (num>x && num>y) num=num-x-y; else break; } if (num==0) { count++;} } return count; } int main(){ int N=20; int X=5,Y=4; cout <<"Total numbers constructed using X & Y only:"<<constructNums(N,X,Y); return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Total numbers constructed using X & Y only:14
-
C ++で多数を処理しますか?
C ++では、Boostライブラリを使用して多数を使用できます。このC++Boostライブラリは、広く使用されているライブラリです。これは、さまざまなセクションで使用されます。それはアプリケーションの大きなドメインを持っています。たとえば、ブーストを使用すると、2 64のような多数を使用できます。 C++で。 ここでは、Boostライブラリの例をいくつか示します。大きな整数のデータ型を使用できます。 int128_t、int256_t、int1024_tなどのさまざまなデータ型を使用できます。これを使用すると、最大1024の精度を簡単に取得できます。 最初は、ブーストライブラリを使用して
-
2つの数値を交換するC++プログラム
2つの数値を交換するプログラムを作成する方法は2つあります。 1つは一時変数を使用することを含み、2番目の方法は3番目の変数を使用しません。これらは次のように詳細に説明されています- 一時変数を使用して2つの数値を交換するプログラム 一時変数を使用して2つの数値を交換するプログラムは次のとおりです。 例 #include <iostream > using namespace std; int main() { int a = 10, b = 5, temp; temp = a; a = b; &nbs