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;
}