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

購入するシートのパック数をカウントするC++コード


k、n、s、pの4つの数があるとします。紙飛行機を作るには、長方形の紙を使います。標準サイズのシートから数機の飛行機を作ることができます。 k人のグループがそれぞれn機の飛行機を作ることにしました。彼らは数パックの紙を購入し、それぞれにp枚のシートが入っており、他の人にそのシートを配布します。各人はn個の異なる飛行機を作るのに十分なシートを持っている必要があります。購入するパックの数を数える必要がありますか?

したがって、入力がk=5のような場合。 n =3; s =2; p =3の場合、4パックの紙を購入する必要があるため、出力は4になります。合計で12枚になり、1人に2枚ずつ与えます。

ステップ

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

ans := k * ((n + s - 1) / s)
return (ans + p - 1) / p

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

#include <bits/stdc++.h>
using namespace std;
int solve(int k, int n, int s, int p){
   int ans = k * ((n + s - 1) / s);
   return (ans + p - 1) / p;
}
int main(){
   int k = 5;
   int n = 3;
   int s = 2;
   int p = 3;
   cout << solve(k, n, s, p) << endl;
}

入力

5, 3, 2, 3

出力

4

  1. C++のグレイコード

    グレイコードは、2つの連続する値が1ビットだけ異なる2進数システムであることがわかっています。コード内のビットの総数を表す非負の整数nがあるとします。グレイコードのシーケンスを印刷する必要があります。グレイコードシーケンスは0で始まる必要があります。したがって、入力が2の場合、結果は[0,1,3,2]になります。これは、0のグレイが00、1のグレイが01、2のグレイが11、3の灰色は10です。 これを解決するには、次の手順に従います- 1つのアレイを作成します 各数値のグレイコードを見つけて、それらをans配列に追加します。 灰色に変換するには、数値を取得し、数値を1ビット右にシフトした後に

  2. C++での算術数

    算術数は、すべての正の除数の平均が整数である数です。つまり、除数の数が除数の合計を除算できる場合、nは算術数です。 概念をよりよく理解するために例を見てみましょう。 Input : n = 6 Output : YES Explanation : Divisors are 1 , 2 , 3 , 6 Sum = 1+2+3+6 = 12 Number of divisors = 4 Sum of divisors / number of divisor = 12 / 4 = 3 アルゴリズム Step 1 : Calculate the sum of divisors and store i