-
C++でのラグランジュの補間
このチュートリアルでは、lagrangesの補間式の結果を見つけるプログラムを作成します。 プログラムのロジックを書く必要はありません。数式をコードに変換するだけです。コードを見てみましょう。 例 #include<bits/stdc++.h> using namespace std; struct Data { int x, y; }; double interpolate(Data function[], int xi, int n) { double result = 0; for (int i
-
C++のa^bまたはb^aの大きい方
このチュートリアルでは、a bの中から大きい方を見つけるプログラムを作成します。 およびba それは簡単な問題です。それを解決するための手順を見てみましょう。 aとbの値を初期化します。 両方の値のログを取ります。 $ b \:\ log \:a$と$a \:\ log \:b$の値を計算します 両方の値を比較します。 $ a \:\ log \:b$が$b \:\ log \:a $より大きい場合は、b aを出力します。 大きいです。 $ b \:\ log \:a$が$a \:\ log \:b $より大きい場合は、a bを出力します。 大きいです。 それ以外の場合、両
-
C++で最大の偶数および奇数のN桁の数値
このチュートリアルでは、n桁の数字の最大の偶数と奇数を見つけるプログラムを作成します。 問題を解決するための手順を見てみましょう。 番号nを初期化します。 最大の奇数はpow(10、n)-1です。 最大の偶数は奇数-1です。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; void findEvenAndOddNumbers(int n) { int odd = pow(10, n) - 1; int even = odd - 1; &
-
C++でN以下の最大の偶数桁
このチュートリアルでは、数字がすべて偶数で、指定されたn以下の最大数を見つけるプログラムを作成します。 問題を解決するための手順を見てみましょう。 番号nを初期化します。 i=nからループを記述します。 現在の番号の桁がすべて偶数かどうかを確認します。 上記の条件が満たされている場合は、番号を印刷してください。 それ以外の場合は、iをデクリメントします。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; int allDigitsEven(int n) { while (
-
C++で指定された数の1つのスワップ操作を使用することで可能な最大の偶数
このチュートリアルでは、1回の数字の入れ替えで可能な限り最大の偶数を見つけるプログラムを作成します。 問題を解決するための手順を見てみましょう。 文字列形式で番号を初期化します。 指定された番号を繰り返し処理します。 数値の最後の桁以下の偶数の桁を見つけます。 目的の偶数桁が見つかったら、ループを解除します。 偶数桁が存在しない場合は、指定された数値を返します。 最後の桁を上記の手順で見つけた偶数の桁と交換します。 番号を返す 例 #include <bits/stdc++.h> using namespace std; string getLargestEvenNumb
-
C++の配列の最大ギャップ
このチュートリアルでは、指定された配列内の2つの要素の最大の違いを見つけるプログラムを作成します。 問題を解決するための手順を見てみましょう。 アレイを初期化します。 配列内の最大要素と最小要素を見つけます。 最大値を返す-最小値。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; int findLargestGap(int arr[], int n) { int max = arr[0], min = arr[0]; for (int i = 0;
-
C++でXで割り切れる最大のK桁の数値
このチュートリアルでは、xで割り切れる最大のk桁の数字を見つけるプログラムを作成します。 問題を解決するための手順を見てみましょう。 xとkを初期化します。 最大のk桁の数値であるpow(10、k)-1の値を見つけます。 次に、上記の値から余りの値を削除して、xで割り切れる最大のk桁の数値を取得します。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; int answer(int x, int k) { int max = pow(10, k) - 1; &nb
-
C++で指定された3つの数値で割り切れる最大のN桁の数値
このチュートリアルでは、指定された3つの数値で割り切れる最大のn桁の数値を見つけるプログラムを作成します。 問題を解決するための手順を見てみましょう。 nとともに3つの数字を初期化します。 3つの数値のLCMを見つけます。 最大数をn桁で保存します。 最大数がnで割り切れる場合は、それを返します。 それ以外の場合は、上記の手順で余りを引いて得られた数値を確認します。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; int LCM(int x, int y, int z) {
-
C ++のNの桁の合計よりも大きい桁の合計で、Nよりも小さい最大の数値
このチュートリアルでは、N未満の数値を検出し、桁の合計がnの桁の合計よりも大きいプログラムを作成します。 問題を解決するための手順を見てみましょう。 数字の合計を求める関数を記述します。 初期化n。 n-1から1まで繰り返すループを作成します。 現在の数値の桁の合計をnの桁の合計で確認します。 現在の数値の桁の合計がnより大きい場合は、現在の数値を返します。 次の番号に移動します。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; int sumOfDigits(int n) { &n
-
C++で最大K個のセットビットを持つX未満の最大数
このチュートリアルでは、与えられたxよりも小さく、最大でk個のセットビットを持つべき最大数を見つけるプログラムを作成します。 問題を解決するための手順を見てみましょう。 数値xとkを初期化します。 数値xのセットビットを見つけます。 x-kのセットビット数を繰り返すループを記述します。 xの値をx&(x-1)で更新します。 xを返します。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; int largestNumberWithKBits(int x, int k) {  
-
C++でKで割り切れるN以下の最大数
このチュートリアルでは、N以下で、kで割り切れる数を見つけるプログラムを作成します。 問題を解決するための手順を見てみましょう。 番号nとkを初期化します。 モジュロ演算子を使用して剰余を見つけます。 余りがゼロの場合は、nを返します。 それ以外の場合はn-剰余を返します。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; int findLargerNumber(int n, int k) { int remainder = n % k; if (r
-
2進表現の最大数は、C++ではm1とm-10です。
このチュートリアルでは、m1とm-10で最大の数を見つけるプログラムを作成します。 問題を解決するための手順を見てみましょう。 2つの変数ビットを初期化し、それぞれ2と1で結果を出します。 1からnまで繰り返すループを作成します。 反復変数値をpow(2、bits)-1)*(pow(2、bits-1))で更新します。 反復変数がn未満の場合は、結果をiで更新します。 ビット数を増やします。 結果を返します。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; long long getTheNumb
-
C++で許可されている1つのスワップで最大の数
このチュートリアルでは、1回のスワップで最大数を見つけるプログラムを作成します。 問題を解決するための手順を見てみましょう。 番号nを初期化します。 整数を文字列に変換します。 文字列の末尾から繰り返すループを記述します。 最大桁とインデックスを見つけます。 現在の桁が最大桁よりも小さい場合は、開始インデックスを現在のインデックスで更新し、終了インデックスを最大桁インデックスで更新します。 開始インデックスが-1の場合、nを返します。 それ以外の場合は、開始インデックスと終了インデックスの数字を入れ替えます。 変換して整数を返します。 例 コードを見てみましょう。 #include
-
C++での素数の最大数
このチュートリアルでは、素数がn未満の最大数を見つけるプログラムを作成します。 問題を解決するための手順を見てみましょう。 0からnまで繰り返すループを作成します。 現在の桁が素数でない場合。 桁が2未満の場合、i値をデクリメントします。i値が負の場合は、0にします。 現在のインデックス値を次に小さい素数で更新します。 次のインデックスから、すべての桁を7にします。 nを返します。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; bool isPrime(char c) { &n
-
C ++で2、3、および5で割り切れるN桁の指定されたセットを持つ最大数
このチュートリアルでは、2、3、および5で割り切れる配列から形成される最大数を見つけるプログラムを作成します。 問題を解決するための手順を見てみましょう。 アレイを初期化します。 数値は0で終わる必要があり、すべての数値の合計は2、3、および5で割り切れるには3で割り切れる必要があります。 配列内の0を確認し、配列内に存在しない場合は印刷できません。 配列を降順で並べ替えます。 合計%3の余りを見つけます。 余りが1でない場合は、桁%3の余りが上記の余りと等しい末尾からすべての桁を削除します。 上記と同じ余りの桁がない場合は、上記の余りから3を引き、余りが上記と同じである最後の2桁を削除し
-
C++で最大k回のスワップ後の最大の順列
このチュートリアルでは、最大k回のスワップ後に最大の順列を見つけるプログラムを作成します。 問題を解決するための手順を見てみましょう。 アレイを初期化します。 配列を初期化して、サイズn+1のインデックスを格納します。 配列を反復処理し、各要素のインデックスを位置配列に格納します。 nとkが0より大きくなるまで繰り返すループを記述します。 n-i要素の位置を一時変数に格納します。 現在の要素arr[i]の位置をposition[n-i]で更新します。 現在のインデックスiで位置位置[n-i]を更新します。 現在の要素arr[i]をarr[temp.Decrementk。と交換します。
-
C++でビット単位のORがnに等しい最大のセット
このチュートリアルでは、ビット単位のORが指定された数nに等しい最大のセットを見つけるプログラムを作成します。 問題を解決するための手順を見てみましょう。 番号nを初期化します。 0からnまで繰り返すループを作成します。 i | nがnに等しい場合は、結果にiを追加します。 結果を返します。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; void printBitWiseOrSet(int n) { vector<int> v;
-
C++で1つのスワップ操作のみを使用して可能な最大の小さい数
このチュートリアルでは、指定された数n未満の1回のスワップで最大数を見つけるプログラムを作成します。 問題を解決するための手順を見てみましょう。 番号nを初期化します。 文字列の末尾から繰り返して、次の桁よりも大きい桁のインデックスを見つけます。変数に保存します。 ループを見つけたらすぐに中断します。 文字列の末尾から上記のインデックスまでの数値を繰り返し処理します。 上記のインデックス付きの数字よりも少なく、エリア内のすべての中で大きい数字のインデックスを見つけます。 上記の2つのインデックスの数字を入れ替えます。更新された番号を返します。 例 コードを見てみましょう。 #
-
C++で合計がkより大きい最大のサブ配列
このチュートリアルでは、最大のサブ配列の合計がkより大きいことを検出するプログラムを作成します。 問題を解決するための手順を見てみましょう。 アレイを初期化します。 配列を反復処理し、各インデックスの合計をインデックスとともにベクトルに格納します。 合計とインデックスに基づいて上記の合計を並べ替えます。 配列を初期化してインデックスを格納します。 nまで繰り返すループを作成します。 上記のインデックス配列の最小インデックスと以前の合計配列インデックスで値を更新します。 合計を0に初期化します。 nまで繰り返すループを作成します。 現在の要素を合計に追加します。 合計がkより大きい場合。
-
C++で0と1の数が等しい最大のサブ配列
プログラムを完了するための手順を見てみましょう。 アレイを初期化します。 配列内のすべてのゼロを-1にします。 以前のインデックスを保存するために、マップを空のマップにします。 合計を0に、最大長を0に、終了インデックスを-1に初期化します。 nまで繰り返すループを作成します。 現在の要素を合計に追加します。 合計が0に等しい場合。 最大長をi+1で更新します。 そしてiのインデックスを終了します。 合計が前の合計マップに存在し、i-previousIndexes[sum]が最大長より大きい場合。 最大長と終了インデックスを更新します。 それ以外の場合は、合計を前のインデックスマップ