Inscription / Connexion Nouveau Sujet
Niveau terminale
Partager :

division euclidienne

Posté par Nemotori (invité) 25-09-05 à 12:11

bonjour
je cherche:
"quel jour de la semaine correspond à la date du 14 juillet 1789, sachant que le 30 septembre 2005 est un vendredi"
(on rapelle que les millésimes multiples de 100 ne sont pas bissextiles, sauf les multiples de 400)

merci d'avance

Posté par
puisea Posteur d'énigmes
re : division euclidienne 25-09-05 à 12:30

Voila, je viens de faire un petit script te permettant d'avoir le résultat

Posté par
puisea Posteur d'énigmes
re : division euclidienne 25-09-05 à 12:31

Voici le code du script pour ceux que ca intéresse :

function perpet($tj,$mm,$aaaa){
//VERIFICATION
if($tj>0 && $mm>0){//les args sotn biens définis

//INITIALISATION

$isbix = date('L'); //Est ce que l'année est bissextile
$semday = date('w'); //le numero du jour dans la semaine
$j = date('z'); //le numero du jour dans l'année
$semn = date('W'); //le numéro de la semaine dans l'année
$month = date('m'); //le numéro du mois dans l'année
$aa = date('Y'); //le numéro de l'année

$days = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi');
$month = array('Janvier', 'Fervrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juiller', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
$md = array(31, 28+$isbix, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);//durée des mois (de janviers a décembre)

$mm--;

//STYSTEM DECROISSANT
  
//on cherhce le dernier dimanche avant aujourdhui
$j-=$semday-1;

//on cherche tout les dimanche jusque ou on veut

while($aa>=$aaaa){
$j-=7;
  
if($j<0){//on changé d'année
$aa--;//numéros de l'année
if(($aa/4 == floor($aa/4) && $aa/100!=floor($aa/100)) or ($aa/100==floor($aa/100) && $aa/400==floor($aa/400)) ){//année bisextille
$isbix=1;
}else{
$isbix=0;
}
$md = array(31, 28+$isbix, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);//durée des mois (de janviers a décembre)
$j=365+$j+$isbix;//le nombre de jour de l'année
}

$v=0; $t=0;
while($j>$t){//tant que le numéro du jours est supérieur au total des jours des mois
$t+=$md[$v];//on incrémente le total des jours de chaques mois
$v++;//on incrémente le numéros du mois suivant
}

$mj = $j - ($t - $md[$v-1]);//numéro du jour dans le mois

if($v-1==$mm && (($tj>=$mj-6 && $tj<$mj) or ($tj<=$mj+6 && $tj>$mj) or ($tj==$mj)) && $aa==$aaaa){//on arrive a +/- 5 jours de la date

if($tj>=$mj-6 && $tj<$mj){//obliger de faire sa pour respecter l'orientation du décalage
$mj = 7 - ($mj-$tj);
}elseif($tj<=$mj+6 && $tj>$mj){
$mj = $tj-$mj;
}elseif($tj==$mj){
$mj=0;
}


return $days[$mj];
}
}
}
}//end function

Posté par Nemotori (invité)re : division euclidienne 25-09-05 à 12:37

re
merci c gentil mai moi j'ai en fait besoin d'une démo



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !