Rumah > Artikel > pembangunan bahagian belakang > C++ mengambil elemen k sebagai satu kumpulan dan mengambil susunan elemen r daripada n elemen.
Memandangkan n, r, k, sekarang kita perlu memikirkan cara untuk memilih item r daripada n supaya item k tertentu sentiasa muncul bersama, cth.
Input : n = 8, r = 5, k = 2 Output : 960 Input : n = 6, r = 2, k = 2 Output : 2
Kita memerlukan sedikit pengetahuan untuk menyelesaikan masalah ini, kerana masalah ini memerlukan kita mencari susunan n dan r supaya k objek bersatu.
Kita perlu merumuskan satu formula untuk masalah ini yang akan memberikan kita jawapannya.
#include <bits/stdc++.h> using namespace std; int fact(int n){ // function to calculate factorial of a number if(n <= 1) return 1; return n * fact(n-1); } int npr(int n, int r){ // finding permutation int pnr = fact(n) / fact(n - r); return pnr; } int countPermutations(int n, int r, int k){ // the formula that we came up with return fact(k) * (r - k + 1) * npr(n - k, r - k); } int main(){ int n = 8; int r = 5; int k = 2; cout << countPermutations(n, r, k); return 0; }
960
Dalam kaedah di atas, kami cuba mereka bentuk formula kami untuk mengira jawapan kepada soalan ini, formula yang kami reka ialah (k!) * (r - k + 1) *P(n-k, r-k). (P(x, y) ialah bilangan pilih atur yang memilih y daripada x), jadi kami menghasilkan formula, dan mengira jawapannya.
Dalam tutorial ini kami menyelesaikan masalah mencari pilih atur yang meletakkan r perkara bersama dengan k perkara pada satu masa. Kami juga mempelajari program C++ untuk masalah ini dan kaedah lengkap untuk menyelesaikannya (Normal).
Kita boleh menulis program yang sama dalam bahasa lain, seperti C, java, python dan bahasa lain. Kami harap anda mendapati tutorial ini membantu.
Atas ialah kandungan terperinci C++ mengambil elemen k sebagai satu kumpulan dan mengambil susunan elemen r daripada n elemen.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!