C++で長さ「k」のすべての部分文字列をベース「b」から10進数に変換します
このチュートリアルでは、長さ「k」のすべての部分文字列を基数「b」から10進数に変換するプログラムについて説明します。
このために、特定の長さの文字列が提供されます。私たちのタスクは、サイズ「k」の指定された文字列から部分文字列を取得し、基数「b」から10進数に変換することです。
例
#include <bits/stdc++.h> using namespace std; //converting the substrings to decimals int convert_substrings(string str, int k, int b){ for (int i=0; i + k <= str.size(); i++){ //getting the substring string sub = str.substr(i, k); //calculating the decimal equivalent int sum = 0, counter = 0; for (int i = sub.size() - 1; i >= 0; i--){ sum = sum + ((sub.at(i) - '0') * pow(b, counter)); counter++; } cout << sum << " "; } } int main(){ string str = "12212"; int b = 3, k = 3; convert_substrings(str, b, k); return 0; }
出力
17 25 23
-
C++のソースからkを超える長さのパスがあるかどうかを確認します
コンセプト 与えられたグラフ、グラフ内のソース頂点、および数値k(ここでkは、ソース頂点と宛先頂点の間のグラフのパス長を示します)に関して、私たちのタスクは、開始する単純なパス(サイクルなし)があるかどうかを判断することです。指定されたソースから、他の頂点(つまり宛先)で終了します。グラフを以下に示します- 入力 Source s = 0, k = 64 出力 True 4があり、合計距離は68 kmで、64を超えています。 入力 Source s = 0, k = 70 出力 False 8)であるため、69を超える入力の場合は出力がfalseになります。 メソッド 重要なこ
-
特定のソースから宛先までのすべてのパスをC++で出力します
この問題では、有向グラフが与えられ、グラフのソースから宛先までのすべてのパスを印刷する必要があります。 有向グラフ は、頂点aからbに向けられたエッジを持つグラフです。 問題を理解するために例を見てみましょう ソース=K宛先=P 出力: K -> T -> Y -> A -> P K -> T -> Y -> P K -> A -> P ここで、KからPへのパスを見つけました。パスをトラバースし、KからPに向かうすべてのパスを出力しました。 この問題を解決するために、深さ優先探索を使用してグラフをトラバースします。