Rumah > pembangunan bahagian belakang > C++ > C++ mengambil elemen k sebagai satu kumpulan dan mengambil susunan elemen r daripada n elemen.

C++ mengambil elemen k sebagai satu kumpulan dan mengambil susunan elemen r daripada n elemen.

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2023-09-07 20:37:02
ke hadapan
1097 orang telah melayarinya

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
Salin selepas log masuk

Kita memerlukan sedikit pengetahuan untuk menyelesaikan masalah ini, kerana masalah ini memerlukan kita mencari susunan n dan r supaya k objek bersatu.

Penyelesaian

Kita perlu merumuskan satu formula untuk masalah ini yang akan memberikan kita jawapannya.

Contoh

#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;
}
Salin selepas log masuk

Output

960
Salin selepas log masuk

Penjelasan kod di atas

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.

Kesimpulan

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan