Cho mảng kích thước 'n', nhiệm vụ là tìm xác suất xuất hiện của phần tử k trong mảng.
Duyệt mảng, đếm số lần xuất hiện của k. Nếu không có → xác suất 0. Ngược lại: P(k) = số lần xuất hiện / tổng số phần tử.
Đầu vào 1
arr[] = {1, 2, 3, 4, 5, 6}, K = 5
Đầu ra 1
xác suất khóa 5 = 0.166667
Đầu vào 2
arr[] = {1, 2, 3, 4, 5, 6, 7}, K = 8
Đầu ra 2
xác suất khóa 8 = 0
Thuật toán
float xacSuatKhoa(int arr[], int size, int key) {
float dem = 0;
for (int i = 0; i < size; i++)
if (arr[i] == key) dem++;
return dem / size;
}
Ví dụ mã nguồn
#include <bits/stdc++.h>
using namespace std;
float xacSuatKhoa(int arr[], int size, int key) {
float dem = 0;
for (int i = 0; i < size; i++)
if (arr[i] == key) dem++;
return dem / size;
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6};
int key = 5;
int size = sizeof(arr) / sizeof(arr[0]);
cout << "xác suất khóa " << key << " = " << xacSuatKhoa(arr, size, key);
return 0;
}
Kết quả chạy chương trình
xác suất khóa 5 = 0.166667