Publicidade

Entre para seguir isso  
Seguidores 0
Wellington09

numeros aleatorios sem repetir

pessoal alguem poderia dar uma dica de como criar uma função de números aleatórios sem repetir ?

ex:

 

quero escolher uma sequencia de numeros de 1 a 10 onde o maximo de numeros escolhidos é 5

 

então ficaria assim:

12345

54321

23145

13425

e ai vai indo sem repetir...

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dúvidas


Quero escolher uma sequência de numeros de 1 a 10...


Uma sequência de 1 à 10 = 1,2,3,4,5,6,7,8,9,10

...onde o máximo de números escolhidos é 5


Das muitas combinações que uma sequência não repetitiva de 1 à 10 pode fazer, você quer escolher cinco delas ?

...então ficaria assim:
12345
54321
23145
13425
e ai vai indo sem repetir...


Sou burrinho, acabei entendendo nada.

Código


Levando em conta meu raciocínio e mudando o 1 à 10 para 0 à 9:

<meta http-equiv="Content-type" content="text/html; charset=utf-8" />

<script>
	String.prototype.zerosEsquerda = function (casasDecimais) {
		var zeros = "";
		
		for (var i = 0; i < casasDecimais - this.length; i ++) {
			zeros = zeros + "0";
		}
		
		return zeros + this;
	}
	
	window.onload = function () {
		var coleta = document.createElement ("div");
			coleta.innerHTML = "Clique em qualquer sequência para escolher a sua: "
			coleta.style.border = "1px solid black";
			coleta.style.marginBottom = "40px";
			coleta.style.padding = "10px";
		
		document.body.appendChild (coleta);
		
		var conta_click = 0;
		
		document.onclick = function (event) {
			var event = window.event ? window.event : event;
			var target = event.target ? event.target : event.srcElement;
			
			if (target.nodeName.toLowerCase () === "div") {
				if (conta_click < 5) {
					coleta.innerHTML = coleta.innerHTML + target.innerHTML + " ";
					
					conta_click ++;
				}
				else {
					alert ("Chega né, você já escolheu suas 5 sequências :D")
				}
			}
		}
		
		var array = new Array ();
		var casas = "";
		var num_casas = 10;
		var i;
		
		for (var i = 0; i < num_casas; i ++) {
			casas = casas + 9;
		}
		
		var velocidade = 1;
		i = 0;
		var div;
		
		var intervaulo = window.setInterval (function () {
			if (i >= casas) {
				window.clearInterval (intervaulo);
			}
			
			div = document.createElement ("div");
				div.innerHTML = i.toString ().zerosEsquerda (num_casas);
				div.style.cssFloat = div.style.styleFloat = "left";
				div.style.paddingRight = "10px";
			
			document.body.appendChild (div);
			
			i ++;
		}, velocidade);
	}
</script>

<style>
	body {
		cursor: pointer;
	}
</style>

Brincadeiras a parte, esse script não deve ser usado por ninguem, so esclareça melhor sua dúvida para que eu possa lhe ajudar :)
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

<html>

<head>

<script type="text/javascript">

do{

var tst = 0;

var num[0]=Math.round(10*(Math.random()));

do{

var num[1]=Math.round(10*(Math.random()));

}while (num[1] == num[0])

do{

var num[2]=Math.round(10*(Math.random()));

}while (num[2] == num[0] || num[2] == num[1])

do{

var num[3]=Math.round(10*(Math.random()));

}while (num[3] == num[0] || num[3] == num[1] || num[3] == num[2])

do{

var num[4]=Math.round(10*(Math.random()));

}while (num[4] == num[0] || num[4] == num[1] || num[4] == num[2] || num[4] == num[3])

windonw.alert(num[0] + num[1]+ num[2]+ num[3]+ num[4]);

}while (tst = 0)

</script>

</head>

<body>

</body>

</html>

Fiz rapidinho aqui... deve ser algo do tipo...

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho um codigo aqui acho que podi ser bem util

 

<h1><span>True Random Number Service</span></h1>

<div id="homepage-generator">
<!-- <div style="text-align:center;margin-bottom:.5em">New RANDOM.ORG widget<br />[<a href="/widgets/integers/">create your own</a>]</div> -->

<iframe src="http://www.random.org/widgets/integers/iframe.php?title=True+Random+Number+Generator&buttontxt=Generate&width=160&height=200&border=on&bgcolor=%23FFFFFF&txtcolor=%23777777&altbgcolor=%23CCCCFF&alttxtcolor=%23000000&defaultmin=1&defaultmax=100&fixed=off" frameborder="0" width="160" height="200" scrolling="no" longdesc="http://www.random.org/integers/">
The numbers generated by this widget come from RANDOM.ORG's true random number generator.
</iframe>
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei um jeito melhor de explicar o que estou querendo fazer pois é bem parecido com o jogo da lotofacil só que no meu caso é com 10 numeros apenas.

 

Mas podemos usar o exemplo da lotofacil mesmo.

 

Na lotofacil tem numeros na cartela de 1 a 25 certo ? e você só pode jogar com 15 numeros certo ? então oque preciso é fazer um random igual este que você passou Felipe só que em vez de trazer apenas 1 numero ele me traga 15 ex:

 

No random só pode escolher esses numeros :

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

 

Porem no random quero que ele me mostre só 15 numeros dos numeros acima ex:

vamos supor que ele escolheu:

02 03 04 06 08 10 12 14 15 16 17 18 21 23 24

 

E ai ele vai criando varias sequencias de 15 numeros sem repetir até chegar no final onde não tem mais como não repetir e ele para de fazer o random.

ex:

vamos supor que no random caiu assim:

01 03 04 06 08 10 12 14 15 16 17 18 21 23 24

01 03 04 06 08 10 12 14 15 16 17 18 21 23 25

05 03 04 06 08 10 12 14 15 16 17 18 21 23 24

01 03 04 06 08 10 12 13 15 16 17 18 21 23 24

01 03 04 06 08 10 12 14 15 16 17 18 20 23 24

... e ai vai sem nunca repetir

 

perceba que os numeros não se repetem.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora
Entre para seguir isso  
Seguidores 0

  • Próximos Eventos