LintCode练习:2838 · 随机生成数字

看到这道题的通过率20%,但是题目也不难,不知道为什么通过率这么低。

结果自己写的时候才知道,原来答案是希望你按它的思路写代码,但是你要是知道它的思路就不会不通过啦(无语)

原题:

 

 答案思路:

正常Random,使用随机种子生成(0,n]区间的Int型随机变量,输出的时候将所有随机数+1,则输出的随机数区间变为了[1,n]。

代码:

 

 1 import java.util.Random;
 2 import java.util.Scanner;
 3 
 4 public class Main {
 5     public static void main(String[] args) {
 6         Scanner scanner = new Scanner(System.in);
 7         int n = scanner.nextInt();
 8         Random random =  new Random(n);
 9         for (int i = 0; i < 49; i++)
10             System.out.println(random.nextInt(n)+1);
11         System.out.print(random.nextInt(n)+1);
12     }
13 }

 

posted @ 2022-01-06 15:49  achived  阅读(45)  评论(0编辑  收藏  举报