随机大数产生

听AC大神说随机大数不能用两个随机数乘,所以就用每一位来rand
 
 1 #include <stdlib.h>
 2 #include <stdio.h>
 3 #include <time.h>
 4 #define MAX 10000000
 5 int Rand(int k,int max)
 6 {
 7    int     a = 0;
 8     for(int i =1;i <= k;i ++)
 9     {
10        a *= 10;
11        a += rand()%10;
12     }
13     if(a <= max)
14      return a;
15     else return Rand(k,max);
16 
17 }
18 
19 int main(){
20     freopen("input.txt","w",stdout);
21     srand( (int)time( NULL ));
22     printf("%d
",MAX);
23     for(int i =1 ;i<= MAX;i ++)
24      {
25        printf("%d
",Rand(4,9999));
26      }
27      //printf("%d
",Rand(9));
28   return 0;
29 }
View Code
没有梦想,何谈远方
原文地址:https://www.cnblogs.com/zyue/p/3425411.html