C++ プログラミング パズルは、フィボナッチ数列、階乗、ハミング距離、配列の最大値と最小値などのアルゴリズムとデータ構造の概念をカバーします。これらのパズルを解くことで、C++ の知識を強化し、アルゴリズムの理解とプログラミング スキルを向上させることができます。 。
C++ プログラミング パズル コレクション: 思考を刺激し、プログラミング スキルを向上させます
はじめに
プログラミング パズルは、創造性を刺激し、プログラミング スキルを向上させる優れた方法です。この記事では、この強力な言語をより深く理解できるように、さまざまなプログラミング概念とアルゴリズムをカバーする C++ プログラミング パズルをいくつか厳選しました。
パズル 1: フィボナッチ数列
質問: フィボナッチ数列の最初の n 個の数値を出力する C++ プログラムを作成してください。
コード:
#include <iostream> int main() { int n; std::cout << "Enter the number of Fibonacci numbers to print: "; std::cin >> n; int a = 0, b = 1; std::cout << "Fibonacci Series: "; for (int i = 1; i <= n; i++) { std::cout << a << " "; int c = a + b; a = b; b = c; } std::cout << std::endl; return 0; }
パズル 2: 階乗
質問: 指定された数値の階乗を計算する C++ プログラムを作成してください。
コード:
#include <iostream> int main() { int n; std::cout << "Enter the number whose factorial you want to calculate: "; std::cin >> n; int factorial = 1; for (int i = 1; i <= n; i++) { factorial *= i; } std::cout << "Factorial of " << n << " is: " << factorial << std::endl; return 0; }
パズル 3: ハミング距離
質問: 2 つの 2 進数間のハミング距離を計算する C++ プログラムを作成してください。
コード:
#include <iostream> int main() { int n1, n2; std::cout << "Enter two binary numbers: "; std::cin >> n1 >> n2; int distance = 0; while (n1 > 0 || n2 > 0) { if ((n1 % 10) != (n2 % 10)) { distance++; } n1 /= 10; n2 /= 10; } std::cout << "Hamming distance between the two numbers is: " << distance << std::endl; return 0; }
パズル 4: 配列の最大値と最小値
質問: 指定された配列の最大値と最小値を見つける C++ プログラムを作成してください。
コード:
#include <iostream> int main() { int arr[] = {10, 20, 5, 15, 30}; int size = sizeof(arr) / sizeof(arr[0]); int max = arr[0]; int min = arr[0]; for (int i = 1; i < size; i++) { if (arr[i] > max) { max = arr[i]; } if (arr[i] < min) { min = arr[i]; } } std::cout << "Maximum element: " << max << std::endl; std::cout << "Minimum element: " << min << std::endl; return 0; }
結論
これらのパズルは、あなたのプログラミング スキルに挑戦し、創造的な可能性を刺激するように設計されています。これらのパズルを解くことで、C++ の知識を強化し、アルゴリズムとデータ構造の理解を高めることができます。
以上がC++ プログラミング パズルのコレクション: 思考を刺激し、プログラミング スキルを向上させますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。