Visit The New, Modern Unix Linux Community


Random pieces of number


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Random pieces of number
# 1  
Random pieces of number

Hello folks,

i have number for example 10 and i want to divide into 4 random pieces that may be (6+2+1+1). How can i do this via script i have random number 234951 and i want to divide into 31 pieces.
# 2  
One somewhat hacky way:

Code:
x=30;n=234951; while [ $x -gt 0 ]; do y=$(expr \( $RANDOM \* $RANDOM \) % \( $n - $x - 1 \) + 1 ); n=$(($n-$y)); echo $y; x=$(($x-1)); done;echo $n


not clean at all, but you may take some inspiration from it :-)
# 3  
Thanks so much, but is printing 1 and 2 is it possible it should be in thousands and the sum is not equal to 234951

Code:
229761
3831
1186
52
47
1
36
13
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2

# 4  
not the best random, and still hacky, but how about:

Code:
#  x=30;n=234951; while [ $x -gt 0 ]; do y=$(expr \( $RANDOM \* $RANDOM \) % \( $n - 2001 \* $x \) + 1001 ); n=$(($n-$y)); echo $y; x=$(($x-1)); done;echo $n
115320
51912
4445
8766
2573
2351
2379
1523
1850
1436
3091
1531
2184
1942
2571
2049
1817
1685
1915
1758
1356
2592
1634
1355
3023
1499
3191
1021
2965
1464
1753

# 5  
This is very near but it always show first value bigger one, is it possible will show equal near about equal numbers, lets suppose if my value is 501752 so it first shows 408086, and rest of 29 values are too small, is it possible all 30 values should be 5 digits base.
# 6  
ok...

If you want to keep all numbers within about +/- 50% of the average, then you could use something like:

Code:
x=30;n=234951;o=$(($n/$x));n=$(($n-$o));while [ $x -gt 0 ]; do   a=$(($n/$x));  k=$(($a/2));  y=$(($RANDOM%$a+$k));  n=$(($n-$y));  echo $y;  x=$(($x-1));  done; echo $(($n+$o))

Think that should work...:-)
This User Gave Thanks to Tytalus For This Post:
# 7  
Thanks so much, you made it very easy, can you please explain the detail of this small trick.

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

Test Your Knowledge in Computers #500
Difficulty: Easy
Comments in code provide a high-level description of what a block of code, function, or program does.
True or False?

10 More Discussions You Might Find Interesting

1. Programming

random number

How can I choose randomly the row numbers of my file in awk? (4 Replies)
Discussion started by: Homa
4 Replies

2. Shell Programming and Scripting

Create random number

Hi, I'm trying to create a script that will print random numbers with length of three. Below is the expected out. 928-377-899 942-458-310 951-948-511 962-681-415 995-161-708 997-997-209 thanks (4 Replies)
Discussion started by: reignangel2003
4 Replies

3. Programming

Generate random number

I saw this formula to generate random number between two specified values in shell script.the following. $(((RANDOM%(max-min+divisibleBy))/divisibleBy*divisibleBy+min)) Give a example in book. Generate random number between 6 and 30.like this. $(((RANDOM%30/3+1)*3)) But I have a... (1 Reply)
Discussion started by: luoluo
1 Replies

4. Programming

Random number is not reused

I need to generate and reuse a 5 digit random number every time my program is executed. But the following generates random numbers every time the function is called. #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <string.h> #include <time.h> ... (12 Replies)
Discussion started by: limmer
12 Replies

5. Programming

C Help; generating a random number.

Im new to C, and Im having a hard time getting a random number. In bash, I would do something similar to the following to get a random number; #!/bin/bash seed1=$RANDOM seed2=$RANDOM seed3=$RANDOM SEED=`expr $seed1 * $seed2 / $seed3` echo ${SEED%.*} Now, in online examples... (4 Replies)
Discussion started by: trey85stang
4 Replies

6. Shell Programming and Scripting

ksh: random number between 1-10

How do I create a random number between 1 and 10 in kornshell? (2 Replies)
Discussion started by: dangral
2 Replies

7. Linux

random number as file owner

Dear all, I get the situation from my office but i cannot think what is happening. please give me some advise. 1. some file owner and group is changed to a very long number 2. i login as root. when i touch a file or operate on the file like chown, cp, the response is "Read-only file system".... (1 Reply)
Discussion started by: rickhlwong
1 Replies

8. Shell Programming and Scripting

Regarding Random Number Genration

HI please help me in solving this issue. I have a shell script which consists of ten statemnts ( i mean 10 executable statments)...........and if i run that script the 10 statmenst will execute continously ............ But now my probelm is i have to write another script --> to... (0 Replies)
Discussion started by: lalitka
0 Replies

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

10. Programming

How to generate a random number?

How to generate a random integer with specific range(for example, from 1 to 1000)? Also, how to convert a floating point number into a integer? (2 Replies)
Discussion started by: MacMonster
2 Replies

Featured Tech Videos