Dalam artikel ini, kita diberi masalah di mana kita perlu mencari jumlah laluan dari titik A ke titik B, di mana A dan B adalah titik tetap, iaitu A ialah titik sudut kiri atas dalam grid dan B ialah titik sudut kanan bawah dalam grid, contohnya −
Input : N = 5 Output : 252 Input : N = 4 Output : 70 Input : N = 3 Output : 20
Dalam masalah yang diberikan, kita boleh merumuskan jawapan dengan pemerhatian mudah dan dapatkan Dapatkan keputusan.
Dalam kaedah ini kita memperoleh formula dengan memerhati bahawa apabila melintasi grid dari A ke B, kita perlu pergi ke kanan Perjalanan n kali dan turun ke bawah n kali, yang bermaksud kita perlu mencari semua kemungkinan kombinasi laluan, jadi kita mendapat formula gabungan (n+n) dan n.
#include<bits/stdc++.h> using namespace std; int fact(int n){ // factorial function if(n <= 1) return 1; return n * fact(n-1); } int main() { int n = 5; // given n int answer = 0; // our answer answer = fact(n+n); // finding factorial of 2*n answer = answer / (fact(n) * fact(n)); // (2*n)! / (n! + n!) cout << answer << "\n"; }
252
Atas ialah kandungan terperinci Pengaturcaraan dalam C++, cari bilangan laluan dari satu titik ke titik lain dalam grid. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!