Padrão nos resultados da Mega-Sena

Você sabia quem em 58% dos resultados da Mega-Sena, um número vai se repetir do resultado anterior? Então, espere um concurso que não repita nenhum número do concurso anterior e escolha um número para repetir! #ficadica

Apesar de parecer brincadeira, isso é sério. Ainda mais se você escolher o quarto número (em ordem crescente), que é o que mais repete.

Para quem tem curiosidade aqui está o download do programa, código fonte e arquivo de resultados. E abaixo o código fonte do programa em C++.

#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <stdio.h>
#include <stdlib.h>

using namespace std;

#define rep(i, n) for (int i(0), _n(n); i < _n; ++i)

int main() {
string lido = "";

int a[] = {0,0,0,0,0,0}, b[] = {0,0,0,0,0,0}, c[] = {0,0,0,0,0,0}, p[] = {0,0,0,0,0,0};
int l = 0, pos = 0, linha = 0;
int total = 0;

// abre o arquivo
ifstream infile("resultados.txt", ios::in);

// le a primeira linha
linha++;
getline(infile, lido);
rep(i,6){
pos = lido.find(',', 0);
a[i] = atoi(lido.substr(0, pos).c_str());
lido = lido.substr(pos + 1, 20);
}

// le a proxima linha, enquanto nao terminar o arquivo
while (!infile.eof()) {
linha++;
getline(infile, lido);
rep(i,6){
pos = lido.find(',', 0);
b[i] = atoi(lido.substr(0, pos).c_str());
lido = lido.substr(pos + 1, 20);
}

// compara as duas últimas linhas
rep(i, 6)
rep(j, 6)
if (a[i] == b[j]) c[j] = b[j];

// totaliza os resultados iguais
rep(i, 6){
if (c[i] != 0) {
total++;
p[i]++;
}
c[i] = 0;
}

// limpa o resultado e prepara a próxima consulta
rep(i,6){
a[i] = b[i];
b[i] = 0;
}
}

cout << "Linhas lidas: " << linha << endl;
cout << "Numeros repetidos: " << total << endl;
cout << "Repeticoes por posicao: " << endl;
rep(i,6){
cout << "#" << i+1 << ": " << p[i] << endl;
}

// fecha o arquivo
infile.close();

cin.get();
return 0;
}


Comentários

Postagens mais visitadas deste blog

Como aprender a programar

Netflix não mostra ícone de streaming

Google Hacking