Exemple en langage C - Cinq personnes partageant le poisson
Cinq personnes, A, B, C, D et E, sont allées pêcher ensemble une nuit. Au petit matin du lendemain, elles étaient toutes épuisées, alors chacune trouva un endroit pour dormir.
Lorsque le soleil fut haut, A se réveilla le premier. Il partagea les poissons en cinq portions, jeta le poisson en trop et prit sa part.
B se réveilla en deuxième, partagea aussi les poissons en cinq portions, jeta le poisson en trop et prit sa part.
C, D et E se réveillèrent tour à tour et prirent du poisson de la même manière.
La question est : combien de poissons ont-ils attrapés au minimum au total ? Et combien de poissons chaque personne a-t-elle vus en se réveillant ?
Exemple
#include <stdio.h>
int main(){
int n,x,j,k,l,m;
for(n=5;;n++){
j=4*(n-1)/5;
k=4*(j-1)/5;
l=4*(k-1)/5;
m=4*(l-1)/5;
if(n%5==1&&j%5==1&&k%5==1&&l%5==1&&m%5==1){
printf("Poissons attrapés ensemble au minimum : %d poissons\n",n);
printf("Le nombre de poissons vus respectivement : %d %d %d %d\n",j,k,l,m);
break;
}
}
return 0;
}
int main(){
int n,x,j,k,l,m;
for(n=5;;n++){
j=4*(n-1)/5;
k=4*(j-1)/5;
l=4*(k-1)/5;
m=4*(l-1)/5;
if(n%5==1&&j%5==1&&k%5==1&&l%5==1&&m%5==1){
printf("Poissons attrapés ensemble au minimum : %d poissons\n",n);
printf("Le nombre de poissons vus respectivement : %d %d %d %d\n",j,k,l,m);
break;
}
}
return 0;
}
Le résultat de sortie de l'exemple ci-dessus est :
至少合伙捕鱼:3121条 分别见到鱼的条数:2496 1996 1596 1276autres extensions