Parece mágica, mas o que o personagem da tirinha fez é possível e tem uma explicação matemática.
Primeiramente dê uma olhada no calendário de 1986:
Realmente o personagem acertou! Mas como isso é possível?
De fato, existe uma regra para determinarmos o dia da semana de qualquer data entre 01 de Janeiro de 1900 até 2399. Basta seguir os seguintes passos:
Passo 1: Calcule quantos anos se passaram desde 1900 até o ano em que você nasceu. Chamaremos esse valor de A.
Passo 2: Calcule quantos 29 de Fevereiro existiram depois de 1900. Para isso, basta dividir por 4 o valor de A, sem considerar o resto da divisão. Chamaremos esse valor de B. Caso seja ano bissexto e a data for anterior ou igual a 29 de Fevereiro, considere então B-1.
Passo 3: Considerando o mês do nascimento, obtenha o número associado a ele (que chamaremos de C), que está presente na seguinte tabela:
Passo 4: Considere o dia do nascimento x. Calcule x-1, chamaremos essa quantidade de D.
Passo 5: Some os quatro valores anotados A,B (ou B-1), C e D então divida o resultado por 7 e tome o resto dessa divisão, após isso confira o dia da semana associado à esse resto:
Vejamos, a data de nascimento é 17 de Julho de 1986, temos:
A = 86 (1986-1900)
B = 21 ( 86 dividido por 4 é igual à 21 e possui resto 2, e 1986 não foi bissexto)
C = 6 (Julho)
D = 16 (17-1)
A+B+C+D = 129
129:7 = 18 e resto 3
Conferindo na tabela da semana vemos que 3 está associado à Quinta-Feira!
Interessante, Diego. Mas acho que dá menos trabalho consultar um calendário permanente que fazer essas contas todas de cabeça, hehehe.
ResponderExcluirVou pensar sobre a matemática por traz disso tudo. Espero chegar a resposta antes da sua próxima postagem.
De fato, é preciso ter um raciocínio no estilo Von Newmann para realizar contas em fração de segundos!
ExcluirO intuito da postagem na realidade é estimular a curiosidade do leitor de saber porque o método funciona, desse modo BINGO! Temos um Leitor interessado! Aguardarei sua resposta antes da postagem.
Tenho que confessar que não conhecia o Calendário Permanente, farei uma postagem apresentando o Calendário Permanente.
Até mais !
No caso do ultimo resultado, deverá haver aproximação dos decimais? Exemplo: 15,28 deverá sofrer aproximação decimal para 2,3? data calculada foi 24 de outubro de 1968
ExcluirDevemos considerar o resto da divisão, assim não há possibilidades de números decimais e se faz desnecessário aproximações.
ExcluirO dia da semana do meu nascimento só da certo, segundo essa maneira, se arredondar o resto.
ExcluirO PROGRAMA TEM UM DEFEITO.
ExcluirEU NASCI NUMA QUINTA E O PROGRAMA RESPONDE SEXTA
VOU FAZER SEXTA QUANTO DIVER 100 ANOS
Por trás deste algoritmo está a Aritmética Modular. Muito interessante este post e parabéns pela iniciativa de compartilhar conosco.
ResponderExcluirExatamente Prof. Paulo Sérgio, a aritmética modular é a "chave" para esse método.
ExcluirAté mais !
Olá Diego,
ResponderExcluirVocê diz:
"De fato, existe uma regra para determinarmos o dia da semana de qualquer data entre 01 (1º) de Janeiro de 1900 até 2399. Basta seguir os seguintes passos:
Passo 2: Calcule quantos 29 de Fevereiro existiram depois de 1900. Para isso, basta dividir por 4 o valor de A, sem considerar o resto da divisão. Chamaremos esse valor de B. Caso seja ano bissexto e a data for anterior ou igual a 29 de Fevereiro, considere então B-1."
Para os anos de 2100 e 2300 o passo 2 falha, haja vista que 4 divide 2100 e 2300, mas 2100 e 2300 não são bissexto.
Abraços
Sebá
Na verdade para calculo com anos que terminam em '00' é diferente, peguei este site como referencia:
Excluirhttp://ciencia.hsw.uol.com.br/ano-bissexto1.htm
Quando o ano terminar em '00', você deve dividi-lo por 400, se der resto 0 é bissexto, caso contrario não é.
Ou você pode contar os '00' e fazer direto 21 dividido por 4 (no caso do ano 2100) e você verá que 21 não é divisível por 4, portanto não é bissexto.
Não existe erro, apenas uma falta de informação quanto ao calculo do ano bissexto.
Fabio Arruda todo ano terminado em 00 é bissexto a cada 100 anos temos 25 anos bissextos então 2000 é bissexto, 2100, 2200, 2300, 2400, 2500, 2600,2700, e assim por diante, para saber se um ano é bissxto basta dividir os 2 ultimos numeros por 4 se der resto 0 é bissexto.
ExcluirFabio Arruda está certo.
Excluirestá errado, nem sempre essa teoria se aplica
Excluirveja isso: http://pt.wikihow.com/Descobrir-se-um-Ano-%C3%A9-Bissexto
Nosso calenário veja a cada 400 anos. Tudo o ano divisivel por 4 é bissexto. Exceto os os anos com vinais 00 que não sejam divisiveis por 400.
ExcluirEx. Ano de 1.700, 1800, 1900 não foram bissextos. O ano 2.000 já foi bissexto. Logico dizer que 2.100, 2.200, 2300 não vai ser e 2.400 vai.
Quem criou o calenadario previu 97 bizzextos em 400 anos. Com isso o tempo e o espaço se veja com o calendario solar. É logico que o assunto tem mais historias ... abraços...
Formúla para calcular qualquer ano. desde 5 agosto 1.583 ate o Fim do mundo.
Excluir((DIA+(MES*2,6-0,02)INT+(XX+XX/4)INT+YY)/7)INT)*7
VAI ENCONTRAR OS NUMEROS DE 0 A 6 OU PROXIMOS
ONDE 0=DOMINGO 1=SEGUNDA 2=TERÇA 3=QUARTA 4=QUINTA 5=SEXTA = 6=SABADO
NÃO SE ESQUEÇA QUE DO MES 3 A 12 DIA 10 PARA MES
JANEIRO E FEVEREIRO MAIS 10 .
PORQUE O ANO COMEÇA DIA 1 MARÇO E VAI ATE 28 OU 20 FEVEREIRO DO ANO SEGUINTE.
POIS FAÇO O CALCULO PENSANDO SOLAR.
Eu entendi tudo e sei de cor, - ate mesmo os números de cada mês. Agora o que vcs não sabe é que a cada 28 anos o calendário é o mesmo ou seja, vc pode substituir por 28 ou múlt dele ( 56, 84, 112,140...) pra ficar + fácil, e tem outra coisa ao chegar no 4 pede pra tirar 1, e se por 1: veja ao inves de tirar 1 (dia-1) vc aumentar 1 ( dia + 1) você estará aumentando 2, assim > no final resto 0 é (=sab.)/ resto 1= dom./ 2= seg. e assim vai até 6 q. é sexta.
ExcluirIsto com o que foi publicado. por exemplo: 25/12/2012 pega 2012 -1900= 112 (ano)+ 28 é (ano/4) + (mês) 5 + 26 (dia+1) > = 112+28+5+26 = 171 ou ignore o 112 e o 28 pois são múltiplos de 28 e de 171 cai pra 31 e pode cair pra 3 , logo TER . Uma outro coisa, pra mim não tem essa de ano bissexto - ele errou nisso -.. Eu aproveito e falo pro meu amigo Alfredo eu gostaria de entender a história dele com algum exemplo dado, assim ficaria melhor.
13031979
ExcluirOlá Diego, tenho uma dúvida...
ResponderExcluirSe ao final dos passos a divisão por 7 for exata, o que posso fazer? Existe algum outro passo?
Caro leitor,
ExcluirQuando a divisão por 7 for exata então o resto é ZERO, logo pela tabela temos SEGUNDA-FEIRA.
eu to calculando aqui, nasci dia 07/06/1993 e valor da 0 só que pelo calendário e domingo e nao segunda como a explicação esta falando.
ExcluirOi.Existe o método valpiniano.para qualquer dsta.
ExcluirBaseado em chaves
07/06/1993
Dia 7 + 5(chave de junho)+0(Cv século)+4(Cv ano)= 16-14(múltiplos de 7)=2 que é segundo dis da semana ou segunda feira. Valpinio Fabio.abraços
Logica do ano bissexto:
ResponderExcluirTodos os anos que sejam múltiplos de 4 mas que não sejam múltiplos de 100, com exceção daqueles que são múltiplos de 400, são bissextos
É isso aí lucaas
ResponderExcluirOnde eu encontro o código para esse gadget?
ResponderExcluirDiego, vc deve ter apreciado o filme "numb3rs",então!
ResponderExcluirGrande abraço!
Wilson C. Raauvendaal
Se considerarmos o texto, quando diz para dividir por 4 e "se for ano bissexto".... Não vejo como se tivesse dito que a divisão por 4 já daria se o ano é ou não bissexto, mas que" se for bissexto.. " proceda como se segue..... Hehehe! Como foi mostrado, para determinar se o ano é ou não bissexto, tem cálculo/procedimento próprio!
ResponderExcluirUma outra dica sobre ano bissexto. Todo ano bissexto é ano de jogos olímpicos.
ResponderExcluirATT
Walter
Bem lembrado!
ResponderExcluir?????
ExcluirComo o valor da tabela mês é calculado?
ResponderExcluirA tabela mês pode ser obtida pela seguinte fórmula:
ExcluirNº mês = [[ 2.m + {3.(m+1)/5} + 2]]/7 ( o valor é o resto da divisão)
Traduzindo literalmente seria. Número a ser atribuído ao mês é igual a 2 vezes o número do mês (como expressamos em datas), somado a 3 vezes o numero do mês mais 1 dividido por 5, somados a 2, o resultado dividido por 7. O valor será o resto da divisão.
Mas atenção, esta formula não se aplica aos meses de janeiro e fevereiro.
Achei o blog procurando pela minha data de nascimento. Você também nasceu em 17/07/1986, Diego?
ResponderExcluirNão, eu nasci em 13/02/1991
Excluirola , um desafio diegoo...
ResponderExcluirse hoje dia 4 de abril de 2014 cai numa sexta feira , 2014 dias depois caira em uma... seg ter quarta quinta sex sab ou dom
Olá Anônimo, esse desafio é relativamente simples, observe inicialmente que daqui a 7 dias será sexta novamente, daqui a 14 sexta de novo, assim, para saber em que dia da semana será 2014 dias depois basta dividir esse número por 2014 e considerar o resto, assim se sobrar 2 saberemos que basta contar mais dois dias para frente, assim será domingo.
ExcluirMas vejamos, 2014 dividido por 7 dá 287 e resto 5, ou seja, se passaram 287 sextas e mais 5 dias, então basta contar que dia da semana será daqui a 5 dias, nesse caso será quarta.
Assim a resposta para o seu desafio é Quarta.
Até mais!
Muito Jóia cara. ótimo para utilizar como modelo para fazer um programa java no Net Bens para quem está iniciando.
ResponderExcluirConsiderando que a cada 4 anos temos anos bissextos, sendo estes os anos múltiplos de 4 ou 400 , com excessão dos anos de fim de século ,esses sendo bissextos apenas a cada 400 anos...(2000,2400,2800...) , podemos usar outra regra pra anos do mesmo século ou anos de séculos diferentes com encerramento em ano bissexto pro primeiro século , o tipo de ano que estamos , por exemplo , 02 de maio de 2014 caiu em uma sexta feira , como 2014 foi ano de copa(copa do mundo apenas é referencia , na verdade seria um ano comum par não secular , mas considerando q todas as copas do mundo acontecem nesse tipo de ano , vamos chamar esses anos de ano de copa...),então 02 de maio só cairá novamente na sexta em 2025 , ano de copa das conf.(novamente , apenas referencia...),depois 02 de maio será na sexta em 2031 , ano de copa américa(novamente apenas referencia) , depois será em 2036,ano olimpico(apenas referencia...),depois em 2042 ano de copa...,pra datas de 01/01 até 28/02 , a regra é depois de ano de copa américa,11 anos,depois de copa do mundo,6 anos,depois de ano olimpico,5 anos,depois de copa das conf 6 anos
ResponderExcluirAinda não consegui entender por que acha chave do ano 1984 dá 0. Vc pode fazer o calculo passo a passo para que eu possa entender com clareza. Ficarei muito grato por isso.
ResponderExcluirporque a chave do ano 84 dá 0. É assim meio sem lógica. Ou eu devo está enganado. Responde aí pra mim Diego Sousa. Desde já agradeço pela sua intenção.
ExcluirEu - hoje mesmo anunciei q. A cada 28 anos o calendário é o mesmo , sabia disso, não , então fique sabendo . Isto com o 1900 como referência. Agora vamos a 1 ex: se nasci em 19/11/1984 84 já é múltiplo de 28, então vc pode ate ignorar pois ( 1900 = 1928= 1956 = 1984..+28) poderia ser um outro ponto de referência para este caso , logo é só vê o mês + o dia , assim, Nov. = 3 (= fev. e Mar.) + dia +1 ( assim seg é 2 , ter. É 3, quar. È 4 ate 6 =sex. / 0 sáb. E Dom. = 1) ,então dia+1= 20 é o meu jeito > somando 3+20=23 /7 = resto 2, resp. segunda. se for dia -1 segue o q. fala acima no link. Ex: se de 0=segunda- feira. sabe pq. é pq dia +1 tem 2 a mais veja, (19+1=20) pois dia-1 (19-1= 18). Vê e aprende agora. Eu sou Cássio / BH- MG.
ExcluirE se a divisão der exata?
ResponderExcluirnão tem problema isso quer dizer que o resto é zero, logo basta somar zero
ResponderExcluire se o resto der ,7 ; ,8 ou ,9?
ResponderExcluirkkkkk lamentável.
Excluirhttp://www.lisbrasil.com/pagina/calend%C3%A1rio-permanente aqui esta o calendário permanente vai ensinando como calcular.
ResponderExcluirespero que gostem valeu...
ResponderExcluirhttp://www.lisbrasil.com/pagina/calend%C3%A1rio-permanente
ResponderExcluirDe onde você tirou esses números das tabelas ?
ResponderExcluirO algoritmo funciona, mas a calculadora disponível on-line está fornecendo o dia errado. Está dando como resposta o dia posterior ao correto. Faça uns testes. ;)
ResponderExcluirNasci na quarta-feira, no dia 30 de maio de 2001!
ResponderExcluirEu tenho um método melhor que eu mesmo fiz, é mais rápido.
ResponderExcluirQue ótimo! Você mesmo criou o método? Gostaria de aprender esse novo método, o blog está a disposição para atendê-lo!
ExcluirAté mais !
Rapaz, eu conheci um fela da puta que fazia isso... descobria a idade de todo mundo! Eu achava q era macumba... mas o cara é um gênio.
ResponderExcluirParabéns pelo post, Diego.
ResponderExcluirComo sugestão, para datas no século XXI, use como referência o dia 01 de janeiro de 2001... Assim a conta fica mais fácil de fazer!
E para os restos 7, 8 ?
ResponderExcluirE para os restos 7, 8 ?
ResponderExcluirEm nenhum caso ocorrem restos 7 ou 8.
Excluirgente afinal, 2096 é bissexto porque 2100 também não é? Se os bissextos acontecem a cada 4 anos? Alguem pode matematicamente provar que 2100 não é bissexto?
ResponderExcluirA definição de ano bissexto é:
Excluir"Os anos bissextos são múltiplos de 4, não múltiplos de 100 (1900 não é bissexto) e múltiplos de 400 (2000 é bissexto)."
Como 2100 é múltiplo de 100 e não é múltiplo de 400, então 2100 não é bissexto (mesmo sendo múltiplo de 4), pois a definição é essa.
Até mais !
A unica logica do caminho mais curto e a ultima tabela, comecando segunda feira pelo zero, e dando continuidade sem precisar fazer essas contas todas, domingo termina em seis, quem nasceu por exemplo no dia 10 e so dar continuidade na referida tabela no caso quinta-feira, respectivamente
ResponderExcluirDeu merda aqui ! faltou 1 dia
ResponderExcluirPasso 2: Calcule quantos 29 de Fevereiro existiram depois de 1900. Para isso, basta dividir por 4 o valor de A, sem considerar o resto da divisão. Chamaremos esse valor de B. Caso seja ano bissexto e a data for anterior ou igual a 29 de Fevereiro, considere então B-1.
ResponderExcluirBoa tarde!
Quando disse assim...
Caso seja ano bissexto e a data for "anterior" ou igual a 29 de fevereiro.. considere então B-1.
Esse "Anterior" eu não consigo intender. Montei a fórmula aqui mas o valor não da certo.
Alguém por uma grande gentileza poderia me ajudar.
19 de fevereiro de 1972 foi um Sábado e o algoritmo automático devolve Domingo
ResponderExcluiralguém pode me ajudar por favor, obrigada
ResponderExcluircomo faco para descobrir o mês do ano que nasci pois fui registrada com data errada e existe um empasse se nasci em 24 de junho ou 24 de julho de 1969 e meu registro e datado de 10 de setembro. meu e-mail iliane_analista@hotmail.com
não consegui assimilar essa formula que me foi sugerida se foi em resposta a minha pergunta.....me desculpe....
ResponderExcluiracho que essa fórmula tem que ser reavaliada, se você testar em um mês de 31 dias de um ano bixesto, o resultado erra o dia. Mostra sempre dia seguinte.
ResponderExcluirmuito bom demais
ResponderExcluirPor que só funciona para as datas entre 1900 e 2399? Conhece como calcular para outras datas fora desse intervalo?
ResponderExcluirDiego... 129/7 = 18,4..... E não 18,3
ResponderExcluirDeu errado, tentei passar as fórmulas para o computador..e com este erro, logicamente ferra tudo :/
esquece... Eu peguei o 'resto' que seria o decimal.. mas é o resto da divisão comum.. foi mal
ResponderExcluirAmei! Me serviu para a Cabala!
ResponderExcluirEste comentário foi removido pelo autor.
ResponderExcluirBoa tarde! Gostei da postagem. Quero saber se tem uma explicação para a tabela dos meses, por que apresenta esses números?
ResponderExcluirBom dia!
ResponderExcluirEstou tendo dificuldade para fazer uma questão , será que você poderia me ajudar a fazer e calcular?
O problema me dá a data de 07/10/2013, afirmando que era uma segunda feira; ele está me perguntando qual o dia que caiu a primeira segunda feira de janeiro? Me orienta como farei para achar está data ?
Conte quantos dias já passaram a partir de 1º de Janeiro, depois basta dividir a quantidade de dias por 7 e tomar o resto (por exemplo, se o resto for 3 isso quer dizer 07/10 é exatamente 3 dias depois do dia da semana de 1º de janeiro, assim, como 07/10 é segunda, 01/01 seria sexta e portanto a primeira segunda do ano seria no dia 04/10).
ExcluirAgora, basta fazer as contas e dizer o que você encontrou.
Espero ter ajudado.
Não deu certo para a data 18/05/2001
ResponderExcluirO resultado mostra que é num sábado mas na verdade caiu numa sexta feira
Fiz algo errado?
12 de Abril de 2002. Sempre pela fórmula dá sábado. Mas no calendário consta como sexta-feira.
ResponderExcluirAlguém pode me ajudar?