C++でASCII値の合計がk未満およびkより大きい単語の数をカウントします
文と数kの文字列strが与えられます。目標は、ASCII値がk未満のin strの数と、ASCII値がkより大きい単語の数を見つけることです。
ASCII −言語の各文字に割り当てられた番号としての一意のコード。
例を挙げて理解しましょう。
入力 − str="これはASCIIです"。 k =300
出力 −ASCII値の合計がk未満の単語数のカウントは−1
ASCII値の合計がkより大きい単語の数は-2です
説明 −単語「is」のASCIIは他の2つより300未満です。
入力 − str =“ set set set”。 k =300
出力 −ASCII値の合計がk未満の単語数の数は− 0
ASCII値の合計がkより大きい単語の数は-3です
説明 −すべての単語は同じで、ASCIIは300を超えています。
以下のプログラムで使用されているアプローチは次のとおりです
forループを使用して文字列strをトラバースします。スペースの後の単語ごとに、合計にstr[i]を追加し始めます。これが>kの場合。インクリメントカウント。
-
文字列をstr、整数をkとします。
-
関数words_less_greater(string str、int k、int length)は文字列を受け取り、ASCIIがkよりも小さい単語と大きい単語の数を返します。
-
strの各単語のASCIIのtempを0とします。
-
ASCIIがk未満の単語の数については、カウントを0とします。
-
kの合計単語の合計を0とします。
-
forループを使用してstrをトラバースします。
-
スペースstr[i]==‘‘の後の各単語。文字str[i]をtempに追加します。単語の終わりの後、temp
-
合計のみをインクリメントしない場合。
-
最後に、カウントには、ASCIIがk未満の単語の数が含まれます。合計-カウントは、ASCIIがkを超える単語になります。
-
結果を印刷します。
例
#include <bits/stdc++.h> using namespace std; void words_less_greater(string str, int k, int length){ int temp = 0; int total = 0; int count = 0; for (int i = 0; i < length; ++i){ if (str[i] == ' '){ if (temp < k){ count++; } temp = 0; total++; } else{ temp += str[i]; } } total++; if (temp < k){ count++; } cout<<"Count of number of words having sum of ASCII values less than k are: "<< count; cout<<"\nCount of number of words having sum of ASCII values greater than k are: "<< total - count; } int main(){ string str = "tutorials point"; int k = 900; int length = str.length(); words_less_greater(str, k, length); return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Count of number of words having sum of ASCII values less than k are: 1 Count of number of words having sum of ASCII values greater than k are: 1
-
Xとの合計がC++のフィボナッチ数であるノードをカウントします
ノードの重みを数値として持つ二分木を指定します。目標は、その数がフィボナッチ数であるような重みを持つノードの数を見つけることです。フィボナッチ数列の数は次のとおりです。0、1、1、2、3、5、8、13…。n番目の数はの合計です。 (n-1)番目と(n-2)番目。重みが13の場合、それはフィボナッチ数であるため、ノードがカウントされます。 例 入力 temp=1。値を入力した後に作成されるツリーを以下に示します- 出力 Count the nodes whose sum with X is a Fibonacci number are: 3 説明 we are given with
-
サイズKで平均がC++のしきい値以上のサブアレイの数
整数arrの配列と2つの整数kおよびしきい値があるとします。サイズがkで、平均がしきい値以上のサブ配列の数を見つける必要があります。したがって、入力が[2,2,2,2,5,5,5,8]で、k =3、しきい値=4の場合、出力は3になります。サブ配列[2,5,5] 、[5,5,5]と[5,5,8]の平均はそれぞれ4、5、6です。 これを解決するには、次の手順に従います- sum:=0、div:=kおよびn:=配列内の要素の数 set sum:=arrのすべての要素の合計 ret:=0 i:=0およびjがkからn– 1の範囲にある場合、iとjの両方を1増やします =