Desafio da Mega-Sena

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

One thought on “Desafio da Mega-Sena”

  1. 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

Leave a Reply

Your email address will not be published. Required fields are marked *