Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ sinh tập con ngẫu nhiên bằng phương pháp tung đồng xu


Mỗi phần tử trong tập được quyết định có trong tập con hay không bằng cách "tung đồng xu" (rand() % 2). Nếu kết quả 1 thì lấy, 0 thì bỏ.

Thuật toán

Bắt đầu
  Nhập n và mảng a[].
  Với i từ 0 đến n-1:
    Nếu rand() % 2 == 1: in a[i].
Kết thúc

Ví dụ mã nguồn

#include <iostream>
#include <cstdlib>
using namespace std;

int main() {
    int n;
    cout << "So phan tu: "; cin >> n;
    int a[n];
    for (int i = 0; i < n; i++) {
        cout << "Phan tu " << i+1 << ": "; cin >> a[i];
    }
    cout << "Tap con ngau nhien: { ";
    for (int i = 0; i < n; i++)
        if (rand() % 2 == 1) cout << a[i] << " ";
    cout << "}\n";
    return 0;
}

Đầu ra mẫu

So phan tu: 7
Phan tu: 7 6 5 4 3 2 1
Tap con ngau nhien: { 7 6 3 }