C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

コンテストで勝者と非勝者の異なるカウントを見つけるためのC++コード


nとkの2つの数字があるとします。コンテストにはn人の学生がいます。記念品を受け取る人もいれば、証明書を受け取る人もいれば、何も受け取らない人もいます。何かを受け取った人は勝者と呼ばれます。しかし、記念品と証明書の数を数えるいくつかの規則があります。証明書の数は、記念品の数の正確にk倍でなければなりません。勝者の数はn/2を超えてはなりません。勝者がいない可能性もあります。これらのルールに従って、勝者の可能な最大数を特定する必要があります。次に、記念品を持っている学生の数、証明書を持っている学生の数、勝者ではない学生の数を見つけます。

したがって、入力がn=18のような場合。 k =2の場合、出力は[3、6、9]になります。

ステップ

これを解決するには、次の手順に従います-

x := (n / 2) / (1 + k)
return x, (k * x) and (n - (x + (k * x)))

理解を深めるために、次の実装を見てみましょう-

#include <bits/stdc++.h>
using namespace std;
void solve(int n, int k){
   int x = (n / 2) / (1 + k);
   cout << x << ", " << (k * x) << ", " << (n - (x + (k * x)));
}
int main(){
   int n = 18;
   int k = 2;
   solve(n, k);
}

入力

8, 2

出力

3, 6, 9

  1. C++で文字列を検索して置換

    文字列Sがあるとすると、文字のグループを新しい文字に置き換えるいくつかの置換操作を実行します。各置換操作には、開始インデックスi、ソースワードx、およびターゲットワードyの3つのパラメータがあります。ここでの規則は、xが元の文字列Sの位置iで始まる場合、xの出現をyに置き換えるというものです。それ以外の場合は何もしません。 したがって、例として、S =abcdがあり、置換操作i =2、x =cd、y =ffffがある場合、 cdは元の文字列の位置2から始まるため、考えてみます。 S、これを「ffff」に置き換える必要があります。 置換操作i=0、x =ab、y =eeeと、別の置換操作i

  2. C ++で文字列の長さを見つけるための5つの異なる方法?

    ここでは、C++で文字列の長さを取得する5つの異なる方法を示します。 C ++では、従来の文字配列文字列を使用できます。C++にはStringクラスもあります。さまざまな領域で、文字列の長さを計算するさまざまな方法があります。 C ++ Stringクラスには、length()およびsize()関数があります。これらは、文字列型オブジェクトの長さを取得するために使用できます。文字列のような従来のCの長さを取得するには、strlen()関数を使用できます。これはcstringの下にあります ヘッダーファイル。別の2つのアプローチは簡単です。 1つはwhileループを使用する方法で、もう1つはf