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

招待を辞退した人をカウントするC++コード


n個の要素を持つ配列Aがあり、すべての要素が異なるとします。会社に参加できるオンサイトファイナリストはn人で、その資格ランクは配列Aにあります。最終ラウンドでオンサイトへの招待を辞退した参加者の最小数を見つける必要があります。 25人が参加し、承認した人や拒否した人はほとんどいません。

したがって、入力がA =[2、3、4、5、6、7、8、9、10、11、12、14、15、16、17、18、19、20、21、22のようである場合23、24、25、26、28]の場合、1番目、13番目、27番目は減少しているはずなので、出力は3になります。

ステップ

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

mx := 0
for initialize i := 0, when i < size of A, update (increase i by 1), do:
   mx := maximum of mx and A[i]
return maximum of mx - 25 and 0

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

#include <bits/stdc++.h>
using namespace std;
int solve(vector<int> A){
   int mx = 0;
   for (int i = 0; i < A.size(); i++)
      mx = max(mx, A[i]);
   return max(mx - 25, 0);
}
int main(){
   vector<int> A = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
      24, 25, 26, 28 };
   cout << solve(A) << endl;
}

入力

{ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28 }

出力

3

  1. カウント数は、C++の2進表現ですべて1になります

    正の整数Nが与えられます。目標は、バイナリ表現にすべて1が含まれるN以下の数値をカウントすることです。たとえば、1は1、3は11、7は111、15は1111...などです。 数字を見ると、すべて2i-1です。私が1から始めるところ。n未満のそのような数をチェックすること。 2i-1<=nの場合に比較します。次に、カウントをインクリメントします。 例を挙げて理解しましょう。 入力 − n =15 出力 −すべて1を2進数にした数:4 説明 −同じ素数の合計としての数−数は1 3 7 15になります 入力 − n =50 出力 −すべて1を2進数にした数:5 説明 −同じ素

  2. C++で数字として4を持つ1からnまでの数を数えます

    このチュートリアルでは、数字が4である1からnまでの数字を見つけるプログラムについて説明します。 このために、番号nが提供されます。私たちの仕事は、数字の1つとして4を含むすべての数字を数え、それを印刷することです。 例 #include<iostream> using namespace std; bool has4(int x); //returning sum of digits in the given numbers int get_4(int n){    int result = 0;    //calculating the