none
Como achar dia 1/jan utilizando o cálculo da data da páscoa? RRS feed

  • Pergunta

  • Boa tarde, preciso fazer um calendário e primeiramente tenho que descobrir o dia 1 de janeiro de qualquer seja o ano inserido pelo usuário. Porém não consigo achar uma lógica pra isso, sendo que tenho que usar o cálculo da data da páscoa para isso( sabendo que a páscoa sempre cai em um domingo). Podem me ajudar?

    O código fonte que desenvolvi (corretamente e devidamente testado) para o cálculo da data da páscoa é o seguinte: 

    #include <stdio.h>

    int main(){

    int y,g,c,x,z,e,n,d,p;

    scanf("%d",&y); //ano a ser digitado pelo usuário

    g = ((y % 19)+1);
    c = ((y/100)+1);


    x = (((3*c)/4)-12);
    z = ((((8*c)+5)/25)-5);

    e = (((11*g) + 20 + z - x)%30);

    if (e == 25 && g > 11 || e == 24){

    e = (e+1);

    }

    n = (44 - e);

    if (n < 21){

    n = (n + 30);

    }

    d = (((5*y)/4)-(x+10));
    n = ((n+7)-((d+n)%7));

    if ( n > 31){

    p = ( n-31 );

    printf("Pascoa: %d de abril de %d \n",p,y);

    }else{

    printf("Pascoa: %d de marco de %d \n",n,y);

    }


    }


    quinta-feira, 11 de abril de 2013 16:48

Respostas

Todas as Respostas