How to generate random numbers which do not include zeros?

sciencepiofficial

I am trying to create a program which finds multiplicative persistence in numbers which are randomized. This program, however, has to deal with large numbers (>10233). However, when I use random.randint(10**233, 10**400), I cannot help but notice that the vast majority of numbers contain a zero, which would result in 0 multiplicative persistence. In my algorithm, I am attempting to get rid of these numbers with the following approach:

def find_new_i():
    i = 10
    while "0" in str(i):
        i = random.randint(10**233,10**400)
    return i

However, this approach is really slow, and cannot generate numbers very quickly.

Has anyone got any ideas on a more efficient approach?

DeepSpace

The odds to have a 0 in such a big number are very high, which is why the while loop is likely to repeat itself many times.

You are better of replacing any zeros with a random digit between 1 and 9.

def find_new_i():
    i = random.randint(10 ** 233, 10 ** 400)
    i = int(''.join(str(random.randint(1, 9)) if d == '0' else d for d in str(i)))
    return i

or if you don't mind all the zeros being replaced with the same random digit:

i = int(str(i).replace('0', str(random.randint(1, 9))))

At this stage it might make more sense to simply build the number "manually" (however this approach is about 4 times slower than the above, see the comments):

def find_new_i():
    return int(''.join(str(random.randint(1, 9))
               for _ in range(random.randint(233, 400))))

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

How to generate random numbers in the buffer?

From Dev

How to generate 64 bit random numbers?

From Dev

How do I generate thread-safe uniform random numbers?

From Dev

How to generate unique random numbers in Matlab?

From Dev

Which kinds of distributions do adding random numbers generate?

From Dev

Generate a cell of random numbers in MATLAB, how?

From Dev

How to generate two different random numbers?

From Dev

How does Python generate random numbers?

From Dev

How do I generate big random numbers in Dart?

From Dev

How to generate random numbers without repetition in Swift?

From Dev

How to generate List of random numbers in Haskell

From Dev

How do I generate random numbers with a mean in C++?

From Dev

How do I generate 8 different random numbers in python?

From Dev

how to generate unique random numbers with a specific range

From Dev

How to generate 5 different random numbers?

From Dev

How do I generate a number of random numbers that are all odd

From Dev

How do I generate random numbers to fill in empty rows?

From Dev

How do I generate random numbers from [0,1]?

From Dev

How to generate random sequence of numbers in python?

From Dev

How to generate random seed for random numbers

From Dev

How do I generate thread-safe uniform random numbers?

From Dev

MATLAB: how can I generate 2 random numbers which sum is less than 1?

From Dev

How do I generate a random range of numbers within another range?

From Dev

How do I generate different random numbers in a loop in C?

From Dev

How do computers generate random numbers

From Dev

How do I generate random numbers to fill in empty rows?

From Dev

How do I generate a random list in Python with duplicates numbers

From Dev

How do I call my generate random numbers which has size 100 to simulation of playing dice 100 times

From Dev

How to generate random numbers in sql?

Related Related

  1. 1

    How to generate random numbers in the buffer?

  2. 2

    How to generate 64 bit random numbers?

  3. 3

    How do I generate thread-safe uniform random numbers?

  4. 4

    How to generate unique random numbers in Matlab?

  5. 5

    Which kinds of distributions do adding random numbers generate?

  6. 6

    Generate a cell of random numbers in MATLAB, how?

  7. 7

    How to generate two different random numbers?

  8. 8

    How does Python generate random numbers?

  9. 9

    How do I generate big random numbers in Dart?

  10. 10

    How to generate random numbers without repetition in Swift?

  11. 11

    How to generate List of random numbers in Haskell

  12. 12

    How do I generate random numbers with a mean in C++?

  13. 13

    How do I generate 8 different random numbers in python?

  14. 14

    how to generate unique random numbers with a specific range

  15. 15

    How to generate 5 different random numbers?

  16. 16

    How do I generate a number of random numbers that are all odd

  17. 17

    How do I generate random numbers to fill in empty rows?

  18. 18

    How do I generate random numbers from [0,1]?

  19. 19

    How to generate random sequence of numbers in python?

  20. 20

    How to generate random seed for random numbers

  21. 21

    How do I generate thread-safe uniform random numbers?

  22. 22

    MATLAB: how can I generate 2 random numbers which sum is less than 1?

  23. 23

    How do I generate a random range of numbers within another range?

  24. 24

    How do I generate different random numbers in a loop in C?

  25. 25

    How do computers generate random numbers

  26. 26

    How do I generate random numbers to fill in empty rows?

  27. 27

    How do I generate a random list in Python with duplicates numbers

  28. 28

    How do I call my generate random numbers which has size 100 to simulation of playing dice 100 times

  29. 29

    How to generate random numbers in sql?

HotTag

Archive