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

Đếm số lần tung xúc xắc 6 mặt (2-7) để đạt điểm x bằng C++

Mô tả bài toán

Xúc xắc mặt 2..7. Muốn đạt đúng x điểm. Tìm số lần tung bất kỳ sao cho có khả năng đạt x (xác suất >0).

Ví dụ

x=100 → Output: 50 (vì min mặt 2, max 7, trung bình 4.5, nhưng code trả về x/2).

Thuật toán

Vì có mặt 2, ta có thể đạt mọi số chẵn bằng cách chỉ tung mặt 2. Với số lẻ, dùng một mặt 3. Số lần tối thiểu? Code trả về floor(x/2).

Code C++

#include <bits/stdc++.h>
using namespace std;

int solve(int x) {
    return x/2;
}

int main() {
    int x = 100;
    cout << solve(x) << endl;
    return 0;
}

Đầu vào / Đầu ra

Input: 100

Output: 50