fork download
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. public class Test
  5. {
  6. private static Random rnd = new Random();
  7.  
  8. public static IEnumerable<int> getRandomNumbers(int count, int lowerbound, int upperbound, int specialNumber = int.MinValue, int specialNumberCount = int.MinValue)
  9. {
  10. var list = new List<int>(count);
  11. HashSet<int> specialNumPositions = new HashSet<int>();
  12.  
  13. if (specialNumberCount > 0)
  14. {
  15. // generate random positions
  16. for (int i = 0; i < specialNumberCount; i++)
  17. {
  18. while (!specialNumPositions.Add(rnd.Next(0, count)))
  19. ;
  20. }
  21. }
  22.  
  23. while (list.Count < count)
  24. {
  25. if (specialNumPositions.Contains(list.Count))
  26. list.Add(specialNumber);
  27. else
  28. list.Add(rnd.Next(lowerbound, upperbound + 1));
  29. }
  30. return list;
  31. }
  32.  
  33. public static void Main()
  34. {
  35. int specialNumber = 68; // ensure that 68 is generated 10 times
  36. var list = getRandomNumbers(1000, 1, 100, 68, 10);
  37. foreach(int i in list)
  38. Console.WriteLine(i);
  39. }
  40. }
Success #stdin #stdout 0.06s 34184KB
stdin
Standard input is empty
stdout
60
42
99
57
60
4
95
76
35
89
14
91
56
83
5
32
4
51
66
58
79
72
11
15
2
23
96
60
61
56
33
62
1
1
31
60
89
20
54
17
85
43
81
68
78
68
66
3
94
62
7
65
37
100
44
76
54
99
42
98
27
100
16
75
22
19
4
71
11
79
18
3
38
42
44
1
21
79
28
68
35
62
3
82
98
34
62
41
59
40
83
98
60
50
11
3
52
79
43
99
81
57
87
75
60
1
5
84
39
67
83
36
95
59
59
1
67
50
6
72
71
40
61
72
31
22
31
29
79
42
40
17
82
13
46
100
68
45
23
98
67
12
36
88
70
43
37
88
20
89
73
24
1
2
60
64
76
74
29
60
33
60
62
42
100
71
1
7
89
17
65
79
30
17
99
47
39
60
13
67
47
58
100
19
9
80
56
41
14
75
100
61
56
7
34
89
83
19
89
23
5
77
76
54
42
15
24
83
93
80
9
35
61
55
61
73
5
56
8
12
89
83
19
67
12
88
4
77
76
85
24
57
68
34
59
12
98
46
58
37
76
100
33
2
87
17
42
89
95
46
85
6
44
5
100
49
9
42
95
31
18
79
25
57
5
9
3
59
69
44
31
16
62
63
27
84
40
15
67
64
79
62
83
45
68
46
32
11
30
50
10
40
78
14
6
60
39
71
76
3
78
28
22
31
67
23
24
99
38
55
18
99
13
68
45
21
78
2
68
12
52
45
70
32
83
66
66
4
94
31
96
4
61
41
78
13
47
81
50
38
24
90
44
20
60
85
80
78
57
12
48
3
66
8
76
72
43
37
51
10
84
86
74
86
75
48
11
98
39
28
65
44
22
90
64
50
80
63
57
12
24
29
53
85
47
10
31
75
67
30
3
50
43
22
73
81
69
55
57
11
6
18
21
45
89
19
50
81
62
66
41
68
71
21
7
35
44
52
13
94
80
57
41
29
23
47
24
77
2
45
100
100
2
92
72
56
59
32
78
13
66
79
62
74
51
47
9
14
99
26
58
92
54
13
11
6
17
30
74
33
61
18
3
49
1
62
6
98
71
61
27
31
53
87
37
88
4
29
19
17
31
94
3
69
85
83
97
53
92
10
51
62
62
18
87
36
26
76
37
63
44
81
96
83
96
64
90
85
28
29
10
65
39
65
83
99
57
86
63
65
36
31
61
9
18
46
35
71
92
74
99
19
1
91
8
66
56
39
87
86
26
12
90
27
74
20
2
53
100
41
2
56
84
63
64
25
80
6
75
31
8
51
99
42
3
99
76
12
92
63
98
4
86
23
64
81
47
99
45
93
67
29
97
61
66
48
21
60
88
10
91
44
48
68
24
89
22
26
67
64
93
73
4
8
7
74
73
59
23
97
16
5
21
18
66
41
64
4
76
54
81
73
10
49
99
90
95
97
79
50
91
22
24
2
30
89
47
11
31
21
3
45
45
6
8
37
82
95
49
34
95
26
47
17
73
71
50
2
79
19
27
62
29
3
95
72
60
15
11
29
60
70
55
42
59
55
26
93
77
28
41
93
18
61
24
30
94
22
7
58
29
33
1
3
62
34
90
4
47
53
11
89
19
22
93
2
9
86
94
43
78
28
96
22
90
94
62
27
41
62
83
57
68
58
18
71
51
34
50
58
46
40
99
34
51
14
98
96
72
30
69
68
68
82
45
76
73
66
43
85
92
83
56
54
90
7
71
90
85
72
80
5
13
15
65
75
10
47
51
68
47
18
29
19
42
50
80
27
3
78
51
47
81
67
63
71
53
34
26
35
60
41
68
47
50
54
1
51
26
33
66
49
70
88
93
38
11
17
94
84
38
74
46
56
26
31
12
58
64
62
64
25
84
15
85
98
48
41
26
5
39
63
34
20
41
77
1
26
41
32
59
95
70
65
71
35
57
53
63
53
6
60
25
22
94
3
16
68
51
48
16
37
86
76
62
26
43
5
82
68
85
91
75
59
96
12
56
4
100
62
21
82
83
98
94
10
68
53
87
72
94
98
73
20
41
50
58
100
100
59
9
67
36
95
33
81
70
9
67
15
55
41
16
44
57
51
44
18
46
27
4
27
44
46
73
18
56
80
27
16
42
47
38
85
8
80
67
39
41
43
67
50
8
61
69
68
55
28
47
23
95
79
73
85
18
62
30
51
88
53
15
32
68
24
48
5
34
55
76
90
97
16
72
23
32
26
54
59
28
12
89
6
93
75
1
11
80
14
38
3
47
12
64
52
47
52
79
85
30
43