Posté le 14/02/2022 11:29
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 232 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 15/02/2022 19:15 | #
Je vais zieuter, Merci
Ajouté le 15/02/2022 à 20:23 :
ça ne doit pas être ça.... Je suis vraiment une quiche....
(5N²)-1→B
If sqrt(A)=N or sqrt(B)=N
Then "OUI"◢
Else
"NON"◢
JeuCalc
AnaNombre
Citer : Posté le 15/02/2022 20:39 | #
Le test c'est si A ou B est un carré parfait... mais ça veut pas dire que ce sera le carré de N. D'ailleurs si tu regardes un peu la racine carrée de 5N² c'est √5·N² donc en gros 2.23N. Le test est essentiellement toujours faux !
Pour savoir si A est un carré parfait, la méthode qu'on a établie jusqu'à présent consiste à (1) calculer la partie entière de la racine carrée, puis (2) vérifier si le carré de ça c'est bien le nombre original. Donc :
5N²-1→B
If (Int √A)²=A Or (Int √B)²=B
Then "OUI"◢
Else "NON"◢
IfEnd
Et tu as encore oublié le IfEnd, ce qui reviendra te hanter !
Citer : Posté le 15/02/2022 21:35 | #
Ou juste Frac √A == 0 non ?
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 15/02/2022 21:38 | #
Comme on l'a dit (3 fois :x), c'est douteux pour les nombres qui dépassent la représentation exacte des entiers et tombent en représentation exponentielle. Tout dépend de quelle approximation tu veux, mais si tu as le témoin alors tu as prouvé que c'est un carré parfait, si tu as Frac √A = 0 tu as prouvé que soit c'est un carré parfait soit l'erreur de calcul de la racine tombe juste par chance.
Citer : Posté le 15/02/2022 21:38 | #
Au passage le test c'est 5N²+4 ou 5N²-4 et non pas 1 comme tu as pu mettre
(Et de toute façon, vous pouvez pas dire le contraire)
MultipliCasio
RDM Calculs
Back Mirror
A Switch To The Top C
Citer : Posté le 16/02/2022 14:26 | #
Ca aurait été trop beau...
'2^(2^N))+1→A
If (Int sqrtsqrtA)²=A
Then "Oui"◢
Else
"Non"◢
IfEnd //j'l'ai pas oublié !!!
Ajouté le 16/02/2022 à 14:27 :
Si vous avez d'autres suggestions, je suis preneur
JeuCalc
AnaNombre
Citer : Posté le 16/02/2022 14:42 | #
Ce que tu calcules ne correspond pas à la réalité mathématique. Tu dois déterminer si N est un nombre de Fermat ; c'est-à-dire, existe-t-il k tel que N = 2^(2^k) + 1 ?
Ce que tu calcules à la place, c'est (en supposant que la double racine carrée est une typo) si 2^(2^N)+1 est un carré parfait, ou (en supposant que la double racine carrée est intentionnelle) une quantité qui n'a pas vraiment de sens.
Si tu reprends la même stratégie que pour le carré parfait, on peut voir un parallèle. Le carré parfait c'est existe-t-il k tel que N = k² ? La méthode choisie consiste à dire : si k existe, alors k = Int √N, par conséquent on peut calculer k et vérifier si N = k².
Ici, un traitement équivalent consisterait à dire : si k existe, alors k = Int (log₂ (log₂ (N-1))), par conséquent on peut calculer k et vérifier si N = 2^(2^k) + 1.
logab(2,N-1)→K
Int logab(2,K)→K
If 2^(2^K)+1=N
Then "Oui"◢
Else "Non"◢
IfEnd
Mais de toute façon ça ne marche que pour les 6 premiers nombres de Fermat puisqu'à partir du 7ème il y a tellement de chiffres que la représentation n'est plus exacte ; le programme répond "Oui" à la fois pour les nombres de Fermat à partir de F₇, mais aussi pour énormément de nombres adjacents qui n'en sont pas.
Il faut aussi traiter à l'avance le cas N≤2 qui produit une erreur Math à cause des logarithmes.
Citer : Posté le 16/02/2022 14:50 | #
Merciiii
En ajoutant une condition ?
Je crois que j'ai réussi
JeuCalc
AnaNombre