0

15 桁の 2 つの異なる乱数を生成したいと考えています。どうやってやるの

ありがとう

4

3 に答える 3

1

などのほとんどの乱数生成関数arc4randomは、範囲内の数値のみを生成します0 .. 2^32-1 = 2147483647。15 桁の 10 進数の場合、範囲内の 3 つの数値を計算し、0 .. 10^5-1それらを「連結」できます。

uint64_t n1 = arc4random_uniform(100000); // 0 .. 99999
uint64_t n2 = arc4random_uniform(100000);
uint64_t n3 = arc4random_uniform(100000);

uint64_t number = ((n1 * 100000ULL) + n2) * 100000ULL + n3; // 0 .. 999999999999999

または、正確に15 桁が必要な場合:

uint64_t n1 = 10000 + arc4random_uniform(90000); // 10000 .. 99999
uint64_t n2 = arc4random_uniform(100000); // 0 .. 99999
uint64_t n3 = arc4random_uniform(100000); // 0 .. 99999

uint64_t number = ((n1 * 100000ULL) + n2) * 100000ULL + n3;
于 2013-09-05T07:31:10.860 に答える
1

これを試して::

arc4random() は、標準の Objective-C 乱数ジェネレータ関数です。0 から 15 を超える数字が表示されます。0 から 15 までの数値を生成できます (つまり、0、1、2、... 15)。6 桁の乱数は次のようになります。

int number = arc4random_uniform(900000) + 100000;

100000 から 899999 までの乱数が返されます。

それが役に立てば幸い!!

于 2013-09-05T07:03:21.343 に答える
0

arc4random()乱数を生成するために達成できる機能を使用します。

これは、についてかなり良いアイデアを提供するリンクarc4random()です。
これが役立つことを願っています

于 2013-09-05T07:03:24.600 に答える