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

C ++で*および/演算子を使用せずに、数値に15を掛けます


左シフト(<<)を使用できます 15で乗算する演算子 。シフトを左に移動した場合1 、次に 2を掛けます 。

4で指定された番号を左シフトすると 、次に 16*nを取得します。 16 * nから指定された数値を引くと、15*nになります。

または

8 * n + 4 * n + 2 * n+nとして分割することもできます。 2の累乗を簡単に掛けることができます 左シフトを使用します。

アルゴリズム

  • 番号nを初期化します。
  • n<<4を見つけて16*nを取得します。
  • 上記の結果からnを引きます。
  • 最終的な答えを返します。

実装

以下は、C++での上記のアルゴリズムの実装です

#include <bits/stdc++.h>
using namespace std;
long long getMultiplicationResult(long long n) {
   return (n << 4) - n;
}
int main() {
   long long n = 15;
   cout << getMultiplicationResult(n) << endl;
   return 0;
}

出力

上記のコードを実行すると、次の結果が得られます。

225

  1. C++を使用してn=x +nxの解の数を見つける

    この記事では、方程式n =x +n⊕xの解の数を見つけます。つまり、n =x+n⊕xとなるような与えられた値nで可能なxの値の数を見つける必要があります。ここで⊕はXOR演算を表します。 。 次に、適切な例を使用して、n =x+n⊕xの解の数に関する完全な情報について説明します。 ブルートフォース方式 解の数を見つけるためにブルートフォースアプローチを簡単に使用できます。つまり、与えられたnの値に対して、0から始まるxのすべての整数値を適用し、方程式が満たされるかどうかを検証します。xの値は次の値以下である必要があります。 nより大きい値を(n⊕x)で追加しても、答えとしてnが返されること

  2. C++を使用してサッカーの五角形と六角形の数を見つける

    ご存知のように、五角形と六角形はサッカーの重要な部分です。これらの形状は、完全な球形を形成するためのパズルのように組み合わされます。ですから、ここにサッカーがあり、六角形と五角形を見つける必要があります。 問題を簡単に解決するためにオイラー標数を使用します。オイラー標数は、位相空間の特定の形状または構造を記述するために機能する数値です。したがって、サッカーの五角形と六角形の数を計算するために使用できます。 オイラー標数- chi(S) −比表面積Sの整数 F −顔 G −グラフ V −頂点 E −エッジはSに埋め込まれています。 V - E + F