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

C++でのFizzBu​​zzの実装


この問題では、 Fizz-Bizzの実装とタイプを確認します。 問題。

フィズバズ −これは、プログラマーが3の倍数すべてのオカレンスを「 Fizz」で変更する単純なプログラミングの問題です。 」および5by「バズ」のすべての倍数 ’は1から100までの数字です。

問題を理解するために例を見てみましょう

1, 2, 'Fizz', 4, 'Buzz', 'Fizz' , 7, 8, 'Fizz' , 'Buzz', 11, 'Fizz' , 13, 14, 'Fizz Buzz' , 16, 17, 'Fizz' , 19, 'Buzz',....

ソリューションアプローチ

問題を解決する簡単な方法は、1から100までのループを使用することです。次に、各反復で、以下の両方の条件を個別にチェックします。

条件1-iが3で割り切れる場合は、カウントを「Fizz」に置き換えます。

条件2-iが5で割り切れる場合は、カウントを「バズ」に置き換えます。

それ以外の場合は、番号を印刷します。数値が3と5の両方で割り切れる値の場合fizzbuzzを出力します 。

ソリューションの動作を説明するプログラム

#include <iostream>
using namespace std;

int main(){

   for (int i=1; i<=100; i++){

      if (i%15 == 0)
         cout<<"Fizz Buzz,\t";
      else if ((i%3) == 0)
         cout<<"Fizz,\t";
      else if ((i%5) == 0)
         cout<<"Buzz,\t";
      else
         cout<<i<<",\t";
   }
   return 0;
}

出力

1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, Fizz Buzz, 16, 17, Fizz, 19, Buzz, Fizz, 22,
23, Fizz, Buzz, 26, Fizz, 28, 29, Fizz Buzz, 31, 32, Fizz, 34, Buzz, Fizz, 37, 38, Fizz, Buzz, 41, Fizz, 43,
44, Fizz Buzz, 46, 47, Fizz, 49, Buzz, Fizz, 52, 53, Fizz, Buzz, 56, Fizz, 58, 59, Fizz Buzz, 61, 62, Fizz,
64, Buzz, Fizz, 67, 68, Fizz, Buzz, 71, Fizz, 73, 74, Fizz Buzz, 76, 77, Fizz, 79, Buzz, Fizz, 82, 83, Fizz,
Buzz, 86, Fizz, 88, 89, Fizz Buzz, 91, 92, Fizz, 94, Buzz, Fizz, 97, 98, Fizz, Buzz,

Fizz Buzzのその他のバリエーション 問題

Fizz Buzz問題は、プログラマーのロジックをチェックするためのプログラミングインタビューで一般的に使用される一般的なプログラミング問題です。時間の経過とともに、問題を改善し、場合によっては解決を困難にするために、問題にいくつかのアップグレードが加えられました。ここに、FizzBu​​zz問題の一般的なバリエーションのいくつかを示します。

  • 数字ベースのフィズバズ −この問題では、プログラマーは、要因をチェックするのではなく、数値の数字である3または5の出現に基づいて、値をfizzbuzzに変更する必要があります。

    − 1、2、Fizz(3)、4、Buzz(5)、6、7、8、9、10、11、12、Fizz(13)、14、Buzz(15)、16、17、18、19 、20、21、22、Fizz(23)、24、Buzz(25)、26、27、28、29、Fizz(30)、Fizz(31)、Fizz(32)、Fizz(33)、Fizz(34 )、Fizz Buzz(35)、...

  • Fizz Buzz Woof −この問題のバリエーションにより、次の素数7のwoofである単語がもう1つ追加されます。次に、因数3、5、および7の値を変更します。

    − 1、2、Fizz(3)、4、Buzz(5)、Fizz(6)、Woof(7)、8、Fizz(9)、Buzz(10)、11、Fizz(12)、13、Woof( 14)、バズ(15)、16、17、フィズ(18)、19、バズ(20)、フィズウーフ(21)、22、23、フィズ(24)、バズ(25)、26、フィズウーフ(27 )、Woof(28)、29、Buzz(30)、31、32、Fizz(33)、34、Fizz Buzz woof(35)...

  • 他のベース番号のFizzBu​​zz −ゲームのもう1つのバリエーションは、問題をもう少し複雑にするために、別のベースの数に基づいてベースを変更することです。

    −基数16(16進数)1、2、Fizz、4、Buzz、Fizz、7、8、Fizz、Buzz、B、Fizz、D、E、Fizz Buzz、11、Fizz、....>

  • 2つ以上のバリエーションを組み合わせる −問題の2つ以上のバリエーションを組み合わせることにより、問題をより複雑にすることができます。フィズバズに変更するための数字だけでなく、両方の要因を考慮したフィズバズのように。


  1. C++で配列を実装した二分木

    二分木は、ツリーの各ノードが最大2つの子ノードを持つことができる特殊なタイプのツリーです。これらの子ノードは、右子および左子と呼ばれます。 単純な二分木は-です 木を表現するには、2つの方法があります。 リンクリストを使用する動的ノード表現 配列を使用する順次表現。 ここでは、二分木の配列表現について説明します。このために、BTのノードに番号を付ける必要があります。この番号付けは、0から(n-1)または1からnまで開始できます。 配列内のノードとその親ノードおよび子ノードの位置を導き出します。 0インデックスベースのシーケンスを使用する場合 親ノードがインデックスpであ

  2. C++での立ち下がり行列の実装

    さまざまな映画などでマトリックスの落下シーンを見てきました。ここでは、そのようにするためのC++プログラムの作成方法を説明します。 この問題を解決するには、これらの手順に注意する必要があります。 マトリックスの幅を定義する 2つの連続する文字の間に、同じ量のギャップがある場合とない場合があります 落下効果を視覚化するために、各行を印刷する間に一定の遅延があります。 例 #include<iostream> #include<string> #include<thread> #include<cstdlib> #include<cti