1. C भाषा मा यादृच्छिक संख्या उत्पादन गर्ने तरिका: rand function
1.1 rand function भनेको के हो?
rand()
function C भाषामा pseudo‑random संख्या उत्पन्न गर्नको लागि प्रयोग हुने function हो। pseudo‑random संख्या भनेको पूर्वनिर्धारित एल्गोरिद्मद्वारा उत्पन्न हुने क्रम हो, वास्तविक यादृच्छिक संख्या होइन, तर सामान्य प्रयोजनका लागि पर्याप्त हुन्छ।rand()
0 देखि 32767 सम्मको दायरा भित्रको पूर्णांक फिर्ता गर्दछ【8†source】। यो दायरा प्रणाली अनुसार फरक हुन सक्छ, तर सामान्यतया यो मान हो।
1.2 rand function को आधारभूत प्रयोग
rand()
function प्रयोग गर्नको लागि, stdlib.h
लाई इन्क्लुड गर्न आवश्यक छ। तलको कोड हो, rand()
function प्रयोग गरेर यादृच्छिक संख्या उत्पन्न गर्ने आधारभूत उदाहरण हो।
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int randomNumber = rand();
printf("Generated random number: %d
", randomNumber);
return 0;
}
यो कोड चलाउँदा, 0 देखि 32767 बीचको यादृच्छिक संख्या देखाइन्छ। तर, यसै अवस्थामा प्रत्येक पटक एउटै यादृच्छिक संख्या उत्पन्न हुने कमजोरी हुन्छ। यसबारे पछि वर्णन गरिनेछ।

2. Random Number को दायरा समायोजन गर्ने तरिका
2.1 मोड्युलो प्रयोग गरेर दायरा सीमित गर्ने
Random number उत्पन्न गर्दा, विशेष दायरा भित्रको मान आवश्यक पर्ने अवस्थामा प्रायः हुन्छ। उदाहरणका लागि, 1 देखि 100 सम्मको random number उत्पन्न गर्न चाहनुहुन्छ भने, rand()
function को आउटपुटमा मोड्युलो अपरेटर %
प्रयोग गरेर दायरा समायोजन गर्न सकिन्छ।
int numberInRange = rand() % 100 + 1; // 1 देखि 100 सम्मको यादृच्छिक संख्या उत्पन्न गर्नुहोस्
यस उदाहरणमा, rand()
को आउटपुटलाई 100 ले भाग गर्दा बाँकी प्राप्त गरी, त्यसमा 1 थपेर 1 देखि 100 सम्मको random number उत्पन्न गरिन्छ। मोड्युलो प्रयोग गरेर, सजिलै इच्छित दायरा भित्रको random number उत्पन्न गर्न सकिन्छ【8†source】।
2.2 दायरा निर्दिष्ट गरेर random number उत्पन्न गर्ने
यदि तपाईंलाई random number को दायरा अझ लचिलो रूपमा निर्दिष्ट गर्न चाहनुहुन्छ भने, function बनाएर प्रयोग गर्न सकिन्छ। तलको उदाहरणमा, इच्छित न्यूनतम र अधिकतम मानको दायरा भित्र random number उत्पन्न गर्ने function को उदाहरण देखाइएको छ।
int getRandomNumber(int min, int max) {
return rand() % (max - min + 1) + min;
}
यो function प्रयोग गरेर, getRandomNumber(1, 100)
जस्तै इच्छित दायरा भित्र random number उत्पन्न गर्न सकिन्छ।
3. srand function द्वारा यादृच्छिक संख्याको ढाँचालाई परिवर्तन गर्ने
3.1 srand function के हो?
rand()
functionलाई जस्तै प्रयोग गर्दा, प्रोग्राम चलाउँदा प्रत्येक पटक समान यादृच्छिक संख्याको ढाँचा उत्पन्न हुन्छ। यो कृत्रिम यादृच्छिक संख्याको विशेषता हो, डिबगिङका लागि उपयोगी भएता पनि, व्यावहारिक यादृच्छिक संख्याको आवश्यकता पर्दा समस्या बनिन्छ। त्यसैले, srand()
functionलाई प्रयोग गरेर यादृच्छिक संख्याको बीज (seed) सेट गरेर, उत्पन्न हुने यादृच्छिक संख्याको ढाँचा परिवर्तन गर्न सकिन्छ【7†source】【9†source】।
3.2 srand function को प्रयोग विधि
srand()
functionले, rand()
functionको अघि बोलाएर, यादृच्छिक बीज निर्दिष्ट गर्दछ। सामान्यतया, srand((unsigned int)time(NULL))
प्रयोग गरेर वर्तमान समयलाई बीजको रूपमा निर्दिष्ट गरिन्छ।
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void) {
srand((unsigned int)time(NULL)); // वर्तमान समयलाई बीजको रूपमा सेट गर्नुहोस्
int randomNumber = rand();
printf("Generated random number: %d
", randomNumber);
return 0;
}
यो कोडमा, srand()
द्वारा प्रत्येक पटक फरक यादृच्छिक ढाँचा उत्पन्न हुन्छ। time(NULL)
वर्तमान समयलाई सेकेन्डमा फर्काउँछ, त्यसैले प्रत्येक पटक फरक बीज सेट गर्न सम्भव हुन्छ।

4. र्याण्डम नम्बरको प्रयोग उदाहरणहरू
4.1 खेलमा र्याण्डम नम्बरको प्रयोग
र्याण्डम नम्बर खेल विकासमा बारम्बार प्रयोग गरिन्छ। उदाहरणका लागि, पात्रको स्थानलाई र्याण्डम रूपमा सेट गर्न वा वस्तुहरूको प्रकट हुने सम्भावना निर्धारण गर्न प्रयोग गरिन्छ। तल डाइस फ्याँक्ने सिमुलेशनको उदाहरण छ।
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void) {
srand((unsigned int)time(NULL)); // सीड सेट गर्नुहोस्
int diceRoll = rand() % 6 + 1; // 1 देखि 6 सम्मको यादृच्छिक संख्या उत्पन्न गर्नुहोस्
printf("डाइस रोल: %d
", diceRoll);
return 0;
}
यो प्रोग्रामले 1 देखि 6 सम्मको र्याण्डम संख्या उत्पन्न गरी डाइसको आँकडाको रूपमा आउटपुट गर्छ। र्याण्डम नम्बरको प्रयोगले खेलमा भविष्यवाणी गर्न नसकिने तत्वहरूलाई सजिलै कार्यान्वयन गर्न सकिन्छ।
4.2 मोन्टेकार्लो विधि द्वारा सिमुलेशन
र्याण्डम नम्बर मोन्टेकार्लो विधि जस्ता सिमुलेशनहरूमा पनि प्रयोग गरिन्छ। मोन्टेकार्लो विधि भनेको र्याण्डम नम्बर प्रयोग गरेर विश्लेषणात्मक रूपमा समाधान निकाल्न कठिन समस्याको समाधानलाई नजिकको अनुमान गर्ने प्रविधि हो। उदाहरणका लागि, र्याण्डम नम्बर प्रयोग गरेर π (पाइ) को मानलाई नजिकको अनुमान गर्न सकिन्छ【9†source】।
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void) {
int n_trials = 1000000;
int n_inside = 0;
double x, y, pi;
srand((unsigned int)time(NULL));
for (int i = 0; i < n_trials; i++) {
x = (double)rand() / RAND_MAX;
y = (double)rand() / RAND_MAX;
if (x * x + y * y <= 1) {
n_inside++;
}
}
pi = 4.0 * n_inside / n_trials;
printf("Approximated π: %f\n", pi);
return 0;
}
यो प्रोग्रामले र्याण्डम बिन्दुहरू प्रयोग गरेर π को मानलाई नजिकको अनुमान गर्ने मोन्टेकार्लो विधिको उदाहरण हो। rand()
प्रयोग गरेर 0 देखि 1 को दायरा भित्रको र्याण्डम नम्बर उत्पन्न गरी, त्यसलाई प्रयोग गरेर वृत्तको क्षेत्रफललाई नजिकको अनुमान गर्छ।

5. rand function र srand function को ध्यान दिनुपर्ने बुँदाहरू
5.1 Pseudo‑random संख्याहरूको समझ
C भाषा को rand()
function द्वारा उत्पन्न संख्याहरू pseudo‑random हुन्। ती वास्तविक रूपमा random मानहरू होइनन्, आन्तरिक एल्गोरिदममा आधारित गणना गरिन्छ, त्यसैले एउटै seed प्रयोग गर्दा समान random pattern उत्पन्न हुन्छ। यो debugging को समयमा उपयोगी हुन्छ, तर पूर्ण randomता आवश्यक परेमा उपयुक्त छैन।
5.2 सामान्य त्रुटिहरू
Random संख्याहरू प्रयोग गर्दा सामान्य त्रुटिहरूमा srand()
प्रयोग नगर्नु र rand()
को output range लाई गलत बुझ्नु समावेश छन्। विशेष गरी rand()
प्रयोग गर्नु अघि अनिवार्य रूपमा srand()
द्वारा seed सेट नगरेमा, प्रत्येक पटक समान pattern को random उत्पन्न हुन्छ। साथै, rand() % n
द्वारा range समायोजन गर्दा, n
को मान इच्छित परिणामसँग मेल नखाने सम्भावना हुन्छ, त्यसैले सावधानी आवश्यक छ।
निष्कर्ष
C भाषा मा यादृच्छिक संख्या निर्माण खेलहरू र सिमुलेशन जस्ता विभिन्न क्षेत्रहरूमा प्रयोग गरिन्छ।rand()
function र srand()
function को प्रयोग विधि बुझेर, उपयुक्त रूपमा यादृच्छिक संख्या निर्माण गरेर, प्रोग्राममा पूर्वानुमान गर्न नसकिने तत्वहरू थप्न सकिन्छ। यो लेखलाई सन्दर्भको रूपमा लिई, कृपया यादृच्छिक संख्याहरू प्रयोग गरेर प्रोग्राम बनाउनुहोस्।