Rumah  >  Artikel  >  pembangunan bahagian belakang  >  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.

WBOY
WBOYke hadapan
2023-09-07 20:37:021041semak imbas

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.

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;
}

Output

960

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam