すべての小文字を大文字に変換します。そのASCII値はC++で互いに素です。
このチュートリアルでは、すべての小文字を、ASCII値がkと互いに素である大文字に変換するプログラムについて説明します。
このために、文字列と整数値kが提供されます。私たちのタスクは、指定された文字列をトラバースし、ASCII値が指定された整数kと互いに素であるすべての文字を大文字に変更することです。
例
#include <bits/stdc++.h> using namespace std; //modifying the given string void convert_string(string s, int k){ int l = s.length(); for (int i = 0; i < l; i++) { int ascii = (int)s[i]; //checking if the value is coprime with k if (ascii >= 'a' && ascii <= 'z'&& __gcd(ascii, k) == 1) { char c = s[i] - 32; s[i] = c; } } cout << s << "\n"; } int main(){ string s = "tutorialspoint"; int k = 3; convert_string(s, k); return 0; }
出力
TuToriAlSPoiNT
-
C++で指定された値を持つ葉を削除する
二分木と整数のターゲットがあるとすると、値のターゲットを持つすべてのリーフノードを削除する必要があります。親ノードがリーフノードになり、値ターゲットを持つ場合、値ターゲットを持つリーフノードを削除すると、それも削除する必要があることに注意する必要があります(できなくなるまでそれを続ける必要があります)。したがって、ツリーが以下のようになり、ターゲットが2の場合、最終的なツリーは最後のツリーのようになります- これを解決するには、次の手順に従います- remLeaf()と呼ばれる再帰メソッドを定義します。これにより、ルートとターゲットが取得されます ルートがnullの場合、n
-
Xとの絶対差がC++で最大値を与えるノードを見つけます
ツリーがあり、すべてのノードの重みと整数xがあるとします。 | weight [i]--x|となるようなノードiを見つける必要があります。最小です。グラフが以下のようで、x =15 出力は3になります。ノードごとに次のようになります ノード1、| 5 – 15 | =10 ノード2、| 10 – 15 | =5 ノード3、| 11 – 15 | =4 ノード4、| 8 – 15 | =7 ノード5、| 6 – 15 | =9 アイデアは単純です。ツリーでDFSを実行し、ノードの追跡を行います。ノードのxとの重み付き絶対差が最小値を示します 例 #include