double chaton(double nem,int rouleau){
if(rouleau==1) return nem;
double samossa = chaton(nem,(int)(rouleau/2));
if(rouleau%2==0){
return samossa*samossa;
}else{
return nem*samossa*samossa;
}
Bonjour, Prauron.
Apparemment, tu n'as pas eu besoin de moi.
En effet.
Tu avais fait la même chose ?
Je n'ai pas fait par récursivité, mais avec des while. En dehors de ce choix purement affectif, oui.
Je vais essayer de comprendre ce que tu as fait avec les polynômes. N'ayant découvert l'exponentiation binaire qu'il y a une vingtaine d'heures, je ne connais pas encore ses applications. Je suis encore en phase d'exploration. p)
"double expo(double x,int n){
if(n==1) return x;
if(n%2==0) return expo(x*x,n/2);
return x*expo(x*x,(n-1)/2);
}
double eval(double coef[],int d, double x){
int i;
double s=coef[0];
for(i=1;i<d+1;i++){
s=s+coef[i]*expo(x,i);
}
return s;"
C'est une application très directe et logique, en fait. Je m'attendais à plus compliqué.
Merci, Prauron.
Je sais, Ectoplismi, sans l'indentation, c'est moins facile à lire. Mais ça reste du C, assez droit au but de surcroît. On comprend vite où Prauron veut en venir.
Oui c'est assez basique, et surtout c'est pas pratique du tout. Si je veux utiliser ça avec un polynôme de degré 47 mais avec seulement 2 coefficients non nuls, il faudra quand même remplir un tableau de taille 48. Quoique, on peut l'initialiser à 0 puis changer les coefficients qui nous intéressent. Mais ça serait beaucoup plus joli en créant une structure "polynôme" avec les listes chaînées. Et plus économe en terme de mémoire aussi. Un truc genre :
struct monome{
int deg;
double coef;
struct monome *next;
};
Mouais faudra y réfléchir...
Je pense que cette solution conviendrait bien, oui. Spontanément, c'est ce que je ferais.
J'avoue que cette partie du travail me passionne moins. On est déjà dans une application utile et se voulant pratique. Je trouvais plus artistique l'idée d'étudier longuement une méthode de calcul, d'en faire un programme, et de m'en servir uniquement pour calculer 2^3.
Tu as l'air bien à l'aise avec les listes chaînées. J'ai intérêt à reprendre un solide rythme de travail, si je veux garder mon aura d'informaticien de référence.
J'ai d'ailleurs passé un bout de ma soirée à donner un cours théorique de programmation orientée objet. J'ai basé mes explications sur l'exemple de Starcraft, et ça s'est très bien passé. Avec un bon exemple bien imagé, l'héritage et les classes abstraites deviennent un jeu d'enfant !
Oui les listes j'en ai pas mal bouffé donc je pense que je maîtrise à peu près. Et puis dans mon examen de C l'année dernière j'avais justement une partie avec des listes et des polynômes, donc je m'en souviens un peu. Après il fallait programmer des produits de polynômes en utilisant ces structures, je serais incapable de le refaire... Ne t'inquiète pas, je ne fais plus d'informatique, tu ne vas pas avoir de mal à conserver ton avance.
En langage objet tout ce que je connais c'est VBA, mais j'apprécie pas plus que toi ce langage.
Je vais tester sur Chaton l'effet intimidant de ma phrase préférée.
...
=o
Attirons-le maintenant avec du charisme.
...
=o !
Coucou.
Qui peut demander à Chaton pourquoi il me parle plus. J'lui ai rien fait.
Les =o semblent aussi polyvalents que les ....
=o (fait maison le smiley, gg ) représente plus l'étonnement, pas aussi polyvalent selon moi.
On menait de près de vingt point, l'écart est maintenant réduit à 2 points...On va pas aller loin avec une défense pareille, j'ai l'impression de retomber dans mes premières années de pistage sur les Hawks. (l'année dernière j'avais un peu la même impression mais notre défense tenait la route, là c'le désert...)