Được đưa ra với một mảng có kích thước 'n' và nhiệm vụ là tìm xác suất của k phần tử đã cho nếu có trong một mảng.
Duyệt toàn bộ mảng cho đến khi ‘n’ bằng với số phần tử trong một mảng và tìm kiếm phần tử hoặc khóa ‘k’ đã cho. Nếu phần tử hiện diện trong một mảng hơn là tính xác suất của nó thì khác in 0.
Đầu vào
arr[] = { 1, 2, 3, 4, 5, 6} K = 5
Đầu ra
probability of a key 5 in an array is :0.166
Đầu vào
arr[] = { 1,2,3,4,5,6,7 } K = 8
Đầu ra
probability of a key 5 in an array is :0
Giải thích
Đã cho ở trên là một mảng có kích thước 7 và một khóa 2 vì vậy mảng sẽ được duyệt qua 7 lần để tìm kiếm giá trị khóa 2. Bất cứ khi nào số 2 được xác định, một biến tạm thời giả sử bộ đếm bằng 1 và nếu phần tử khác 2 thì chuyển sang tiếp theo phần tử mà không tăng bộ đếm. Cuối cùng -
-
Nếu bộ đếm là 0 có nghĩa là khóa không có trong một mảng thì xác suất sẽ là 0
-
Nếu bộ đếm là bất kỳ giá trị nào khác 0 thì hãy áp dụng công thức để tính xác suất của khóa ‘’ k ’
Probability (k) =tổng số lần xuất hiện ‘k’ / tổng số phần tử
Tổng số lần xuất hiện ‘K’ =4
Tổng số phần tử trong một mảng =7
Xác suất của khóa (k) =4/7 =0,57
Thuật toán
Start Step 1→ declare function to calculate probability of key in an array float probab_key(int arr[], int size, int key) declare float count = 0 Loop For int i = 0 and i < size and i++ IF arr[i] = key Set count++ End End return count / size Step 2→ In main() Declare int arr[] = { 1, 2, 3, 4, 5, 6} Declare int key = 5 Declare int size = sizeof(arr) / sizeof(arr[0]) Call probab_key(arr, size, key) Stop
Ví dụ
#include <bits/stdc++.h> using namespace std; // calculate the probability of a key in an array float probab_key(int arr[], int size, int key){ float count = 0; for (int i = 0; i < size; i++){ if (arr[i] == key) count++; } return count / size; } int main(){ int arr[] = { 1, 2, 3, 4, 5, 6}; int key = 5; int size = sizeof(arr) / sizeof(arr[0]); cout <<"probability of a key "<<key<<" in an array is :"<<probab_key(arr, size, key); return 0; }
Đầu ra
Nếu chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
probability of a key 5 in an array is :0.166667