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

三角形を形成するためにスティックの長さを増やすために必要な分数をカウントするC++プログラム


a、b、cの3つの数字があるとします。長さがa、b、cの3本のスティックがあります。 1分で任意のスティックを1本選び、長さを1cm長くすることはできますが、スティックを壊すことはできません。それらの長さを増やすために必要な最小分数を数える必要があり、それらと三角形を形成することができます。

したがって、入力がa=2のような場合。 b =3; c =5の場合、出力は1になります。これは、aまたはbのいずれかを1増やすことで、三角形(a + b)>cを作成できるためです。したがって、1分で十分です。

ステップ

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

Define an array A = { a, b, c }
sort the array A
return maximum of (A[2] - A[1] - A[0] + 1) and 0

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

#include <bits/stdc++.h>
using namespace std;

int solve(int a, int b, int c) {
   vector<int> A = { a, b, c };
   sort(A.begin(), A.end());
   return max(A[2] - A[1] - A[0] + 1, 0);
}
int main() {
   int a = 2;
   int b = 3;
   int c = 5;
   cout << solve(a, b, c) << endl;
}

入力

2, 3, 5

出力

1

  1. サイズdで作成できる十二角形の数をカウントするC++プログラム

    数dがあるとします。正方形のタイルと辺の長さが1の通常の三角形のタイルが無数にあると考えてください。これらのタイルを使用して、側面dの通常の十二角形(12辺の多角形)を形成できる方法をいくつ見つける必要があります。答えが大きすぎる場合は、結果mod998244353を返します。 ステップ これを解決するために、次の手順に従います- b := floor of d/2 - 1 c := 1 for initialize i := 2, when i < d, update (increase i by 1), do:    b := b * (floor of

  2. それぞれ長さMのN個のパスワードを生成するC++プログラム

    これは、それぞれ長さMのN個のパスワードを生成するC++プログラムです。 アルゴリズム Begin    Take the length of password as input.    function permutation() generate random passwords:    /* Arguments       A pointer array a.       Total Number of random numbers m.     &