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増やします =