Sponsored Content
Top Forums Shell Programming and Scripting Random NUmbers Generation with out repetation Post 302261572 by Konerak on Tuesday 25th of November 2008 04:51:26 AM
Old 11-25-2008
Are you posting homework assignments? Why do you need different random numbers from 1 to 18?

There are 2 ways:

1/ keep generating random numbers, reject the ones you already have (use a hash to store them) until you have enough different ones
-> This creates a lot of extra work, and if you want more random numbers than available in your range, you'll get an infinite loop. Worst-case execution time is unpredictable (averages can be calculated with use of statistics)

2/ Generate an array of "accepted values" and pick a random element from the array, then remove it from the array.
-> Nice & fast if you got a small range, predictable worst-case scenario

If you want me to write out the script, take a minute to explain why you need it. If it's for homework, we won't solve it for you. We'll help you think and we'll look at your scripts and find mistakes, but won't write the whole thing for you.
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Random numbers without repetition

Is anyone know some scripts to generate random number without repetition using bash; for example generate 10 different random numbers. Thanks (8 Replies)
Discussion started by: asal_email
8 Replies

2. Programming

Random number generation

Hi...How can I generate random numbers between a given range ...preferably between 1 and 100...in UNIX C programming...? I tried out functions like rand(),drand48() etc but didnt get satisfactory results... Thanks a lot in advance.......... (1 Reply)
Discussion started by: tej.buch
1 Replies

3. UNIX for Dummies Questions & Answers

Random number generation in ksh

I need to generate a random number in ksh everytime I run the script ,the range should be from 100 to 24800,I could use $RANDOM but I seem to have no control over the range of numbers ,could you please suggest some way I could implement this .Thanks. Mervin (2 Replies)
Discussion started by: mervin2006
2 Replies

4. Shell Programming and Scripting

Random numbers from 0 to 1000

Hello All, I want to make a simple script which generate random number from 0 to 1000. and simply display it. Plz HELP!!!!!! Regards, Waqas Ahmed (2 Replies)
Discussion started by: wakhan
2 Replies

5. Shell Programming and Scripting

random number generation in ksh

i tried to use $random function in unix i simply typed print $random at shell and it returnted no value is there any function in korn shell that i can use to generate random number help is appreciated (2 Replies)
Discussion started by: er_zeeshan05
2 Replies

6. Shell Programming and Scripting

Random Numbers - Perl

Hi Guys I have a script to find Ranomd numbers. But I want to make the file to produce more random. Could u guys help me plz. In this Script I have the code that generates random in for loop and the range I have specified in my %chromlength input and out put will be like this chrno start end... (3 Replies)
Discussion started by: repinementer
3 Replies

7. Shell Programming and Scripting

Random word generation with AWK

Hi - I have a word GTTCAGAGTTCTACAGTCCGACGAT I need to extract all the possible "chunks" of 7 or above letter "words" from this. SO, my out put should be GTTCAGA TTCAGAG TCAGAGT CAGAGTTCT TCCGACGAT CAGTCCGACG etc. How can I do that with awk or any other language? I have no... (2 Replies)
Discussion started by: polsum
2 Replies

8. Homework & Coursework Questions

Random numbers

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! Write a shell script that will take the sum of two random number? Ex: Random n1 +Random n2 = result i tries to write it but i had some dufficulties ... (3 Replies)
Discussion started by: renegade755
3 Replies

9. AIX

Random password generation

Hello, I have created a script to generate a random password on Linux/Solaris, but I simply cannot use it on my AIX VMs since Bash isn't installed on them. I need a password that is randomly created with the following... (12 Replies)
Discussion started by: gfroute
12 Replies
RANDOM(9)						   BSD Kernel Developer's Manual						 RANDOM(9)

NAME
arc4rand, arc4random, random, read_random, srandom -- supply pseudo-random numbers SYNOPSIS
#include <sys/libkern.h> void srandom(u_long seed); u_long random(void); void arc4rand(void *ptr, u_int length, int reseed); u_int32_t arc4random(void); #include <sys/random.h> int read_random(void *buffer, int count); DESCRIPTION
The random() function will by default produce a sequence of numbers that can be duplicated by calling srandom() with '1' as the seed. The srandom() function may be called with any arbitrary seed value to get slightly more unpredictable numbers. It is important to remember that the random() function is entirely predictable, and is therefore not of use where knowledge of the sequence of numbers may be of benefit to an attacker. The arc4rand() function will return very good quality random numbers, slightly better suited for security-related purposes. The random num- bers from arc4rand() are seeded from the entropy device if it is available. Automatic reseeds happen after a certain timeinterval and after a certain number of bytes have been delivered. A forced reseed can be forced by passing a non-zero value in the reseed argument. The read_random() function is used to return entropy directly from the entropy device if it has been loaded. If the entropy device is not loaded, then the buffer is filled with output generated by random(). The buffer is filled with no more than count bytes. It is advised that read_random() is not used; instead use arc4rand() All the bits generated by random(), arc4rand() and read_random() are usable. For example, 'random()&01' will produce a random binary value. The arc4random() is a convenience function which calls arc4rand() to return a 32 bit pseudo-random integer. RETURN VALUES
The random() function uses a non-linear additive feedback random number generator employing a default table of size 31 long integers to return successive pseudo-random numbers in the range from 0 to (2**31)-1. The period of this random number generator is very large, approxi- mately 16*((2**31)-1). The arc4rand() function uses the RC4 algorithm to generate successive pseudo-random bytes. The arc4random() function uses arc4rand() to gen- erate pseudo-random numbers in the range from 0 to (2**32)-1. The read_random() function returns the number of bytes placed in buffer. AUTHORS
Dan Moschuk wrote arc4random(). Mark R V Murray wrote read_random(). BSD
September 25, 2000 BSD
All times are GMT -4. The time now is 07:26 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy