Induksi matematik dilaksanakan dalam C++ melalui fungsi rekursif Dengan membuktikan kes asas dan langkah aruhan, adalah mungkin untuk membuktikan bahawa proposisi yang diberikan adalah benar untuk semua nombor asli. Sebagai contoh, kod di atas membuktikan bahawa "semua nombor asli n, n^2 + n + 41 adalah perdana." . P(n) tahan. Ia meneruskan melalui dua langkah berikut:
Kes asas: Buktikan bahawa P(1)
berlaku.
Anggap bahawa P(k)
memegang nombor asli tertentu k
dan buktikan bahawa P(k+ 1) juga benar.
Contoh Kod
Pertimbangkan untuk membuktikan proposisi berikut:Untuk semua nombor aslin, n^2 + n + 41 ialah nombor perdana. n
的某个命题P(n)
成立。它通过以下两个步骤进行:
- 基本情况:证明
P(1)
成立。- 归纳步骤:假设
P(k)
对于某个自然数k
成立,并证明P(k+1)
也成立。C++ 中的递归函数可以轻松而简洁地实现数学归纳法。
代码示例
考虑证明以下命题:
对所有自然数n
,n^2 + n + 41
Kod 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; }Salin selepas log masukJalankan output:
1^2 + 1 + 41 is prime. 2^2 + 2 + 41 is prime. 3^2 + 3 + 41 is prime. 4^2 + 4 + 41 is prime. ...Salin selepas log masukKesimpulan
Kod ini menunjukkan cara melaksanakan aruhan matematik menggunakan fungsi rekursif dalam C++. Dengan menganggap dua langkah aruhan sebagai rekursi dan kes asas bagi fungsi rekursif, kita boleh membuktikan jenis penyataan matematik tertentu dengan ringkas dan elegan.
Atas ialah kandungan terperinci Penggunaan fungsi rekursif C++ dalam aruhan matematik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!