Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,870 questions

51,793 answers

573 users

How to generate N unique random numbers between min and max in Go

2 Answers

0 votes
package main

import (
	"fmt"
	"math/rand"
	"time"
)

func generateUniqueRandomNumbers(N, min, max int) map[int]struct{} {
	uniqueNumbers := make(map[int]struct{})
	rand.Seed(time.Now().UnixNano())

	for len(uniqueNumbers) < N {
		num := rand.Intn(max - min + 1) + min
		uniqueNumbers[num] = struct{}{}
	}

	return uniqueNumbers
}

func main() {
	N := 8 // Number of unique random numbers

	randomNumbers := generateUniqueRandomNumbers(N, 1, 20)

	for num := range randomNumbers {
		fmt.Print(num, " ")
	}
}



/*
run:

4 10 5 16 1 9 8 3 

*/

 



answered Sep 25, 2024 by avibootz
0 votes
package main

import (
	"fmt"
	"math/rand"
	"time"
)

func generateUniqueRandomNumbers(N, min, max int) []int {
	rand.Seed(time.Now().UnixNano()) // Seed the random number generator
	set := make(map[int]bool)        // Use a map to ensure uniqueness
	var uniqueNumbers []int

	for len(set) < N {
		num := rand.Intn(max-min+1) + min
		if !set[num] {
			set[num] = true
			uniqueNumbers = append(uniqueNumbers, num)
		}
	}

	return uniqueNumbers
}

func main() {
	N := 8

	uniqueNumbers := generateUniqueRandomNumbers(N, 1, 20)

	fmt.Println(uniqueNumbers)
}


/*
run:

[9 2 8 20 15 19 14 13]

*/

 



answered Sep 25, 2024 by avibootz

Related questions

...