Random numbers without repetition


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Random numbers without repetition
# 1  
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
# 2  
Try...
Code:
awk -v loop=10 -v range=100 'BEGIN{
  srand()
  do {
    numb = 1 + int(rand() * range)
    if (!(numb in prev)) {
       print numb
       prev[numb] = 1
       count++
    }
  } while (count<loop)
}'

# 3  
Thanks, great code !!! but I need some clarifications.

when you compare the generated number to previous one, using :
if (!(numb in prev))
isn't comparing only the last generated random number with the current one or comparing all previous generated random number ? so only uniq number retained.

Thanks
# 4  
The code compares all previously generated numbers which are stored in an array called 'prev'.
# 5  
Select 10 numbers from 1 through 80

Code:
for (( i=1;i<=80;i++ )) do echo $RANDOM $i; done|sort -k1|cut
 -d" " -f2|head -10

it works using bash
# 6  
I actually want to use those random number on the fly such :
#! /bin/bash
while (condition)
do
number=$RANDOM
do some work here using random number until condition satisfied
done

the condition is independent of generated random number
but random numbers have to be generated as along as condition is met and
all numbers generated have to be unique.

Thanks again
# 7  
Quote:
Originally Posted by asal_email
I actually want to use those random number on the fly such :
#! /bin/bash
while (condition)
do
number=$RANDOM
do some work here using random number until condition satisfied
done

the condition is independent of generated random number
but random numbers have to be generated as along as condition is met and
all numbers generated have to be unique.

Thanks again
well, the bash variable "$RANROM" is a random integer between 0 and 32767. if the condition is independent of generated random number, try to imagine the loop block has already run 32768 cycles, all of numbers used up. Smilie
so the condition must consider the random numbers rang.
 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #148
Difficulty: Easy
A free derivative of BSD Unix, 1992BSD, was released in 1992 and led to the NetBSD and FreeBSD projects.
True or False?

9 More Discussions You Might Find Interesting

1. 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

2. UNIX for Advanced & Expert Users

UNIX script for making random numbers without repetition

Hello, I have a column which have 7200 numbers and I am deciding to pick up 1440 numbers randomly without any reputation? Could any one let me know which script in unix will be work for my case? Regards Sajjad (17 Replies)
Discussion started by: sajmar
17 Replies

3. Shell Programming and Scripting

Generate random numbers in script

i want to generate a random number through a script, and even if anyone reads the script, they wont be able to figure out what the random number is. only the person who setup the script would know it. something like this could work: random the full thread is here: ... (13 Replies)
Discussion started by: SkySmart
13 Replies

4. Shell Programming and Scripting

unique random numbers awk

Hi, I have a small piece of awk code (see below) that generates random numbers. gawk -F"," 'BEGIN { srand(); for (i = 1; i <= 30; i++) printf("%s AM329_%04d\n",$0,int(36 * rand())+1) }' OFS=, AM329_hole_names.csv The code works fine and generates alphanumeric numbers like AM329_0001,... (2 Replies)
Discussion started by: theflamingmoe
2 Replies

5. Programming

How to fill a memory with random numbers in C

Hi, I have a parametrized memory mem. I want to fill this memory with random numbers with respect to the data_width. can anyone help me on this.. (3 Replies)
Discussion started by: vdhingra123
3 Replies

6. Shell Programming and Scripting

Random float numbers in BASH

Hi people :) I'm learning shell scripting using bash and I want to generate 4 floating point number with 5 decimal places and write them to a file and a variable. I've done all this except the $RAMDOM enviroment variable does not generate a float number but a integrer. I hope you could... (3 Replies)
Discussion started by: pharaoh
3 Replies

7. Shell Programming and Scripting

Generating random numbers

Hi, I am having trouble with generating random numbers. can this be done with awk? So I have a file that looks like this: 23 30 24 40 26 34 So column1 is start and column2 is end. I want to generate 3 random #'s between start and stop: So the output will look like this: ... (9 Replies)
Discussion started by: phil_heath
9 Replies

8. 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

9. 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

Featured Tech Videos