Ce sujet a été résolu
J'ai vu un truc dans le genre dans un de mes cours attend @PatrickSebasti1
il y a 18 heures
Je suis nul, mais vraiment pitoyable j'ai le niveau d'un enfant de primaire
Non, sérieusement, ton cahier, là, c'est un niveau de collège, au moins.
Il faudrait demander conseil aux clefs experts en maths.
Il faudrait demander conseil aux clefs experts en maths.
il y a 18 heures
Non, sérieusement, ton cahier, là, c'est un niveau de collège, au moins.
Il faudrait demander conseil aux clefs experts en maths.
Il faudrait demander conseil aux clefs experts en maths.
C'est niveau lycée. Tu serais étonné du niveau. Et même pour les nombres premiers j'ai galéré je suis vraiment à la ramasse
Mon site https://retsukoforum.neocities.org/ // youtube https://www.youtube.com/@retsukoforum
il y a 18 heures
Retsuko
19h
bordel je fais pareil , je me suis aussi pris un livre de math ahi
Bon tg
il y a 18 heures
Blizzara
18h
T'as pris quel livre ?
Mon site https://retsukoforum.neocities.org/ // youtube https://www.youtube.com/@retsukoforum
il y a 18 heures
J'ai vu un truc dans le genre dans un de mes cours attend @PatrickSebasti1
À la limite osef de tes cours, le but c'est de réussir à le retrouver par toi-même.
C'est que de l'amour putain !
il y a 18 heures
J'ai trouvé une méthode tu m'en diras des nouvelles @PatrickSebasti1
Mon intuition de jean-codeur me dis de bosser avec des modulos vu que ça a une complexité linéaire O(n), depuis tout-à l'heure je suis en train de chercher une méthode plus opti pour voir si je peux régler le problème en O(log n) par exemple.
Ma première intuition était d'utiliser le petit théoreme de fermat qui stipule entre autres que a^p ≡ a (mod p)
Puis en réécrivant des nombres a en base p, je me suis rendu compte que tant que ça se terminait en 0 fois p^0 c'était bon. Donc mon algorithme final est le suivant:
div(n, p){
let e = 0;
while (n > p^e) {
e++;
}
if (e == 0) {
return false;
} else if (n - p^(e - 1) == 0) {
return true;
} else {
return div (n- p^(e-1), p);
}
}
Ce qui résout le problème en un temps logarithmique
Mon intuition de jean-codeur me dis de bosser avec des modulos vu que ça a une complexité linéaire O(n), depuis tout-à l'heure je suis en train de chercher une méthode plus opti pour voir si je peux régler le problème en O(log n) par exemple.
Ma première intuition était d'utiliser le petit théoreme de fermat qui stipule entre autres que a^p ≡ a (mod p)
Puis en réécrivant des nombres a en base p, je me suis rendu compte que tant que ça se terminait en 0 fois p^0 c'était bon. Donc mon algorithme final est le suivant:
div(n, p){
let e = 0;
while (n > p^e) {
e++;
}
if (e == 0) {
return false;
} else if (n - p^(e - 1) == 0) {
return true;
} else {
return div (n- p^(e-1), p);
}
}
Ce qui résout le problème en un temps logarithmique
il y a 17 heures
J'ai trouvé une méthode tu m'en diras des nouvelles @PatrickSebasti1
Mon intuition de jean-codeur me dis de bosser avec des modulos vu que ça a une complexité linéaire O(n), depuis tout-à l'heure je suis en train de chercher une méthode plus opti pour voir si je peux régler le problème en O(log n) par exemple.
Ma première intuition était d'utiliser le petit théoreme de fermat qui stipule entre autres que a^p ≡ a (mod p)
Puis en réécrivant des nombres a en base p, je me suis rendu compte que tant que ça se terminait en 0 fois p^0 c'était bon. Donc mon algorithme final est le suivant:
div(n, p){
let e = 0;
while (n > p^e) {
e++;
}
if (e == 0) {
return false;
} else if (n - p^(e - 1) == 0) {
return true;
} else {
return div (n- p^(e-1), p);
}
}
Ce qui résout le problème en un temps logarithmique
Mon intuition de jean-codeur me dis de bosser avec des modulos vu que ça a une complexité linéaire O(n), depuis tout-à l'heure je suis en train de chercher une méthode plus opti pour voir si je peux régler le problème en O(log n) par exemple.
Ma première intuition était d'utiliser le petit théoreme de fermat qui stipule entre autres que a^p ≡ a (mod p)
Puis en réécrivant des nombres a en base p, je me suis rendu compte que tant que ça se terminait en 0 fois p^0 c'était bon. Donc mon algorithme final est le suivant:
div(n, p){
let e = 0;
while (n > p^e) {
e++;
}
if (e == 0) {
return false;
} else if (n - p^(e - 1) == 0) {
return true;
} else {
return div (n- p^(e-1), p);
}
}
Ce qui résout le problème en un temps logarithmique
Non ce n'est pas en temps logarithmique:
par exemple, si tu calcules div(156,13) (sachant que 156 = 12 x 13), ça te fait 12 étapes de récursion:
div(156,13) -> div(143,13) -> div(130,13) -> ... -> div(39,13) -> div(26,13) -> div(13,13) -> true
Donc le temps est linéaire en p, la complexité est en O(p log n).
Et puis il faut potentiellement calculer des puissances élevées de p, c'est pas un calcul qui est facile à faire à la main.
Le but est de trouver un critère de divisibilité qui est facilement applicable pour un humain:
par exemple, en tant qu'humain, pouvoir dire en moins d'une minute si 13782 est divisible par 13, par exemple.
par exemple, si tu calcules div(156,13) (sachant que 156 = 12 x 13), ça te fait 12 étapes de récursion:
div(156,13) -> div(143,13) -> div(130,13) -> ... -> div(39,13) -> div(26,13) -> div(13,13) -> true
Donc le temps est linéaire en p, la complexité est en O(p log n).
Et puis il faut potentiellement calculer des puissances élevées de p, c'est pas un calcul qui est facile à faire à la main.
Le but est de trouver un critère de divisibilité qui est facilement applicable pour un humain:
par exemple, en tant qu'humain, pouvoir dire en moins d'une minute si 13782 est divisible par 13, par exemple.
C'est que de l'amour putain !
il y a 17 heures
Tu fais des cours pour apprendre ou c'est un bouquin d'entraînement que tu as ?
il y a 17 heures
J'ai trouvé une méthode tu m'en diras des nouvelles @PatrickSebasti1
Mon intuition de jean-codeur me dis de bosser avec des modulos vu que ça a une complexité linéaire O(n), depuis tout-à l'heure je suis en train de chercher une méthode plus opti pour voir si je peux régler le problème en O(log n) par exemple.
Ma première intuition était d'utiliser le petit théoreme de fermat qui stipule entre autres que a^p ≡ a (mod p)
Puis en réécrivant des nombres a en base p, je me suis rendu compte que tant que ça se terminait en 0 fois p^0 c'était bon. Donc mon algorithme final est le suivant:
div(n, p){
let e = 0;
while (n > p^e) {
e++;
}
if (e == 0) {
return false;
} else if (n - p^(e - 1) == 0) {
return true;
} else {
return div (n- p^(e-1), p);
}
}
Ce qui résout le problème en un temps logarithmique
Mon intuition de jean-codeur me dis de bosser avec des modulos vu que ça a une complexité linéaire O(n), depuis tout-à l'heure je suis en train de chercher une méthode plus opti pour voir si je peux régler le problème en O(log n) par exemple.
Ma première intuition était d'utiliser le petit théoreme de fermat qui stipule entre autres que a^p ≡ a (mod p)
Puis en réécrivant des nombres a en base p, je me suis rendu compte que tant que ça se terminait en 0 fois p^0 c'était bon. Donc mon algorithme final est le suivant:
div(n, p){
let e = 0;
while (n > p^e) {
e++;
}
if (e == 0) {
return false;
} else if (n - p^(e - 1) == 0) {
return true;
} else {
return div (n- p^(e-1), p);
}
}
Ce qui résout le problème en un temps logarithmique
Je te conseille de commencer par essayer de comprendre pourquoi est-ce que le célèbre critère de divisibilité par 3 (somme des chiffres) fonctionne, et pourquoi est-ce que le légèrement moins célèbre critère de divisibilité par 11 (somme alternée des chiffres) fonctionne.
Et après tu pourras essayer d'imiter ces critères pour tout autre nombre premier.
Et après tu pourras essayer d'imiter ces critères pour tout autre nombre premier.
C'est que de l'amour putain !
il y a 16 heures
Je te conseille de commencer par essayer de comprendre pourquoi est-ce que le célèbre critère de divisibilité par 3 (somme des chiffres) fonctionne, et pourquoi est-ce que le légèrement moins célèbre critère de divisibilité par 11 (somme alternée des chiffres) fonctionne.
Et après tu pourras essayer d'imiter ces critères pour tout autre nombre premier.
Et après tu pourras essayer d'imiter ces critères pour tout autre nombre premier.
il y a 16 heures
Retsuko
19h
il y a 16 heures
faux
ah
Mon site https://retsukoforum.neocities.org/ // youtube https://www.youtube.com/@retsukoforum
il y a 16 heures