লেশ
বাসদ এবং ওএসএক্স উপর আপনি ব্যবহার করতে পারেন Jot একটি একক র্যান্ডম (ফিরে আসার -r
ব্যবধান থেকে) সংখ্যা min
থেকে max
, সমেত।
$ min=5
$ max=10
$ jot -r 1 $min $max
বিতরণ সমস্যা
দুর্ভাগ্যক্রমে, এলোমেলোভাবে উত্পন্ন সংখ্যার পরিসীমা এবং বন্টন এই প্রভাব দ্বারা প্রভাবিত হয় যে জট অভ্যন্তরীণভাবে ডাবল স্পেসিচনের ফ্লোটিং পয়েন্ট এবং আউটপুট ফরম্যাটের জন্য প্রিন্টফ (3) ব্যবহার করে, যা গোলাকার এবং কাটা সমস্যার কারণ হয়ে থাকে। অতএব, অন্তর এর প্রদর্শিত min
এবং max
প্রদর্শিত হিসাবে কম ঘন উত্পাদিত হয়:
$ jot -r 100000 5 10 | sort -n | uniq -c
9918 5
20176 6
20006 7
20083 8
19879 9
9938 10
ওএস এক্স 10.11 (এল ক্যাপিটান) এ এটি স্থির হয়েছে বলে মনে হচ্ছে:
$ jot -r 100000 5 10 | sort -n | uniq -c
16692 5
16550 6
16856 7
16579 8
16714 9
16609 10
এবং...
$ jot -r 1000000 1 10 | sort -n | uniq -c
100430 1
99965 2
99982 3
99796 4
100444 5
99853 6
99835 7
100397 8
99588 9
99710 10
বিতরণ সমস্যা সমাধান
ওএস এক্স এর পুরানো সংস্করণগুলির জন্য, সৌভাগ্যক্রমে বেশ কয়েকটি কর্মক্ষেত্র রয়েছে। একটি হ'ল প্রিন্টফ (3) সংখ্যার রূপান্তর ব্যবহার করা। একমাত্র সতর্কতা হ'ল ব্যবধানটি সর্বাধিক হয়ে যায় max+1
। পূর্ণসংখ্যা বিন্যাস ব্যবহার করে, আমরা পুরো বিরতিতে ন্যায্য বিতরণ পাই:
$ jot -w %i -r 100000 5 11 | sort -n | uniq -c
16756 5
16571 6
16744 7
16605 8
16683 9
16641 10
নিখুঁত সমাধান
পরিশেষে, কাজের দিকটি ব্যবহার করে পাশের ফর্সা রোল পেতে, আমাদের কাছে রয়েছে:
$ min=5
$ max_plus1=11 # 10 + 1
$ jot -w %i -r 1 $min $max_plus1
অতিরিক্ত বাড়ির কাজ
দেখুন Jot (1) রক্তাক্ত গণিত এবং ফর্ম্যাটিং বিস্তারিত এবং আরো অনেক উদাহরণ জন্য।