数学的帰納法は、基本的な状況と帰納法ステップを証明することによって、C で実装され、すべての自然数に対して真であることが証明されます。たとえば、上記のコードは、「すべての自然数 n, n^2 n 41 は素数である」ことを証明します。
C 再帰関数を使用して数学的帰納法を実証する
はじめに
数学的帰納法この方法は、特定の命題 P(n)
がすべての自然数 n
に対して真であることを証明するために使用される数学的証明手法です。次の 2 つのステップを経て進みます:
P(1)
が成り立つことを証明します。 P(k)
が特定の自然数 k
に対して真であると仮定し、P( k 1)
も成立します。 C の再帰関数を使用すると、数学的帰納法を簡単かつ簡潔に実装できます。
コード例
次の命題を証明することを考えてください:
すべての自然数n
,n^2 についてn 41
は素数です。
C コード:
#include <iostream> // 递归函数来检查一个数字是否是素数 bool isPrime(int n) { // 基本情况:2 是素数 if (n <= 2) return true; // 归纳步骤:假设 n 是素数,检查 n+1 for (int i = 2; i <= n / 2; i++) { if (n % i == 0) return false; } return true; } int main() { // 对于 1 到 100 的每个数字 for (int i = 1; i <= 100; i++) { // 检查该数字是否满足我们的命题 if (isPrime(i * i + i + 41)) std::cout << i << "^2 + " << i << " + 41 is prime." << std::endl; } return 0; }
実行出力:
1^2 + 1 + 41 is prime. 2^2 + 2 + 41 is prime. 3^2 + 3 + 41 is prime. 4^2 + 4 + 41 is prime. ...
結論
このコードは、C で再帰関数を使用して数学的帰納法を実装する方法を示します。帰納法の 2 つのステップを再帰および再帰関数の基本ケースとして扱うことにより、特定のタイプの数学的ステートメントを簡潔かつエレガントに証明できます。
以上がC++ の再帰関数を数学的帰納法に応用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。