मान लीजिए कि हमारे पास दो पूर्णांक x और n हैं। हमें एरे को इस तरह से खोजना है कि इसमें (x^1, x^2,… x^(n-1), x^n) में होने वाले इंडेक्स नंबरों की बारंबारता हो। तो यदि x =15 और n =3, तो आउटपुट [0, 1, 2, 2, 0, 3, 0, 1, 0, 0] होगा। जैसा कि हम जानते हैं कि x^1 से x^n, मान 15, 225 और 3375 हैं। तो आवृत्ति सरणी 0, 1, 2, 2, 0, 3, 0, 1, 0, 0
है।इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
फ़्रीक्वेंसी काउंट ऐरे को 0 से 9 तक के अंकों को स्टोर करने के लिए बनाए रखें।
-
x^1 से x^n तक के प्रत्येक अंक को पार करें। प्रत्येक अंक के लिए फ़्रीक्वेंसी काउंट एरे में संबंधित इंडेक्स में 1 जोड़ें
-
सरणी प्रदर्शित करें।
उदाहरण
#include <iostream> #include <cmath> using namespace std; void digitCount(double val, long arr[]) { while ((long)val > 0) { long digit = (long)val % 10; arr[(int)digit]++; val = (long)val / 10; } } void generateFreqArray(int x, int n) { long freq_count[10]={0}; for (int i = 1; i <= n; i++){ double val = pow((double)x, (double)i); digitCount(val, freq_count); } cout << "["; for (int i = 0; i <= 9; i++){ cout << freq_count[i] << " "; } cout << "\b]"; } int main() { int x = 15, n = 3; cout << "The frequency array is: "; generateFreqArray(x, n); }
आउटपुट
The frequency array is: [0 1 2 2 0 3 0 1 0 0]