Getting your Trinity Audio player ready...
|
Eu montei um gerador de números aleatórios para criar uma sequencia de jogo para a Mega-Sena, até aí nada complicado,,,
O desafio é: fazer mais complicado, complexo, que possa gerar mais de um jogo e funcional.
Quem se habilita?
O meu código esta aqui, mais simples que isso não vale…
1 DECLARE @Random1 INT; 2 DECLARE @Random2 INT; 3 DECLARE @Random3 INT; 4 DECLARE @Random4 INT; 5 DECLARE @Random5 INT; 6 DECLARE @Random6 INT; 7 DECLARE @Upper INT; 8 DECLARE @Lower INT 9 10 SET @Lower = 1 11 SET @Upper = 60 12 13 SELECT @Random1 = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0) 14 SELECT @Random2 = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0) 15 SELECT @Random3 = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0) 16 SELECT @Random4 = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0) 17 SELECT @Random5 = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0) 18 SELECT @Random6 = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0) 19 SELECT @Random1,@Random2,@Random3,@Random4,@Random5,@Random6 20 GO 100
Declare @Upper INT; Declare @Lower INT; Declare @N1 INT;
Declare @N2 INT; Declare @N3 INT; Declare @N4 INT; Declare @N5 INT;
Declare @N6 INT; Declare @Teste INT; Declare @NJogos INT; Declare
@Seqs INT; — DEfina o numero de jogos na variavel abaixo SET
@NJogos = 1 SET @Seq = 1 While @Seq <= @NJogos Begin SET
@Lower = 1 SET @Upper = 60 SET @Teste = 1 SET @N1 = Round(((@Upper
– @Lower – 1) * RAND() + @Lower), 0) SET @N2 = Round(((@Upper –
@Lower – 1) * RAND() + @Lower), 0) SET @N3 = Round(((@Upper –
@Lower – 1) * RAND() + @Lower), 0) SET @N4 = Round(((@Upper –
@Lower – 1) * RAND() + @Lower), 0) SET @N5 = Round(((@Upper –
@Lower – 1) * RAND() + @Lower), 0) SET @N6 = Round(((@Upper –
@Lower – 1) * RAND() + @Lower), 0) While @Teste
<> 0 Begin — Teste N1 If @N1
<> @N2 and @N1 <> @N3 and @N1
<> @N4 and @N1 <> @N5 and @N1
<> @N6 Begin SET @Teste = 0 End Else Begin SET
@N1 = Round(((@Upper – @Lower – 1) * RAND() + @Lower), 0) SET
@Teste = 1 End — Teste N2 If @N2 <> @N1 and @N2
<> @N3 and @N2 <> @N4 and @N2
<> @N5 and @N2 <> @N6 Begin SET
@Teste = 0 End Else Begin SET @N2 = Round(((@Upper – @Lower – 1) *
RAND() + @Lower), 0) SET @Teste = 1 End — Teste N3 If @N3
<> @N2 and @N3 <> @N4 and @N3
<> @N5 and @N3 <> @N6 and @N3
<> @N1 Begin SET @Teste = 0 End Else Begin SET
@N3 = Round(((@Upper – @Lower – 1) * RAND() + @Lower), 0) SET
@Teste = 1 End — Teste N4 If @N4 <> @N2 and @N4
<> @N3 and @N4 <> @N1 and @N4
<> @N5 and @N4 <> @N6 Begin SET
@Teste = 0 End Else Begin SET @N4 = Round(((@Upper – @Lower – 1) *
RAND() + @Lower), 0) SET @Teste = 1 End — Teste N5 If @N5
<> @N2 and @N5 <> @N3 and @N5
<> @N4 and @N5 <> @N1 and @N5
<> @N6 Begin SET @Teste = 0 End Else Begin SET
@N5 = Round(((@Upper – @Lower – 1) * RAND() + @Lower), 0) SET
@Teste = 1 End — Teste N6 If @N6 <> @N2 and @N6
<> @N3 and @N6 <> @N4 and @N6
<> @N5 and @N6 <> @N1 Begin SET
@Teste = 0 End Else Begin SET @N6 = Round(((@Upper – @Lower – 1) *
RAND() + @Lower), 0) SET @Teste = 1 End End Print ‘Numeros sao:’ +
STR(@N1) + ‘,’ + STR(@N2) + ‘,’ + STR(@N3) + ‘,’ + STR(@N4) + ‘,’ +
STR(@N5) + ‘,’ + STR(@N6) SET @Seq = @Seq + 1 End