FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
 Équation diophantienne ax + by = c Emptypar Klaus Aujourd'hui à 11:12

» item_index(résolu)
 Équation diophantienne ax + by = c Emptypar jjn4 Mar 14 Mai 2024 - 17:38

» Bataille terrestre
 Équation diophantienne ax + by = c Emptypar jjn4 Lun 13 Mai 2024 - 13:01

» SineCube
 Équation diophantienne ax + by = c Emptypar Marc Sam 11 Mai 2024 - 10:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
 Équation diophantienne ax + by = c Emptypar Marc Sam 11 Mai 2024 - 10:22

» Philharmusique
 Équation diophantienne ax + by = c Emptypar jjn4 Ven 10 Mai 2024 - 11:58

» PANORAMIC V 1
 Équation diophantienne ax + by = c Emptypar papydall Jeu 9 Mai 2024 - 1:22

» select intégrés [résolu]
 Équation diophantienne ax + by = c Emptypar jjn4 Mer 8 Mai 2024 - 15:00

» number_mouse_up
 Équation diophantienne ax + by = c Emptypar jjn4 Mer 8 Mai 2024 - 9:59

» Aide de PANORAMIC
 Équation diophantienne ax + by = c Emptypar jjn4 Mer 8 Mai 2024 - 9:16

» trop de fichiers en cours
 Équation diophantienne ax + by = c Emptypar lepetitmarocain Mer 8 Mai 2024 - 8:43

» Je teste PANORAMIC V 1 beta 1
 Équation diophantienne ax + by = c Emptypar papydall Mer 8 Mai 2024 - 2:17

» bouton dans autre form que 0(résolu)
 Équation diophantienne ax + by = c Emptypar leclode Lun 6 Mai 2024 - 11:59

» KGF_dll - nouvelles versions
 Équation diophantienne ax + by = c Emptypar Klaus Lun 6 Mai 2024 - 9:41

» @Jack
 Équation diophantienne ax + by = c Emptypar Jack Mar 30 Avr 2024 - 18:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -28%
Précommande : Smartphone Google Pixel 8a 5G ...
Voir le deal
389 €

 

  Équation diophantienne ax + by = c

Aller en bas 
3 participants
AuteurMessage
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

 Équation diophantienne ax + by = c Empty
MessageSujet: Équation diophantienne ax + by = c    Équation diophantienne ax + by = c EmptyLun 4 Nov 2019 - 22:29

Code:

rem ============================================================================
rem              Équation diophantienne ax + by = c
rem                 Papydall le 01 / 11 / 2019
rem ============================================================================
rem L’équation ax + by = c, où les coefficients a, b et c sont trois entiers relatifs
rem (a et b non tous deux nuls) et où les inconnues x et y sont des entiers relatifs,
rem est une des équations diophantiennes les plus simples à résoudre.
rem Sa résolution s’appuie sur l’algorithme d’Euclide, le théorème de Bachet-Bézout
rem (qui correspond au cas, appelé aussi identité de Bézout, où c est égal au PGCD
rem de a et b) et le théorème de Gauss.
rem Dans l’ensemble des entiers relatifs, une telle équation possède, ou bien aucune
rem solution, ou bien une infinité de solutions.
rem ============================================================================
dim true, false
dim a,b,c,x0,y0,p,q,t$,plus$
true = 1 : false = 0
caption 0,"Résolution dans Z de l'équation diophantienne ax + by = c"
memo 10 : full_space 10 : color 10,200,150,50 : font_name 10,"arial" : font_bold 10
font_size 10,12 : font_color 10,0,0,255
item_add 10,""
item_add 10,string$(10," ") + "Résolution dans Z de l'équation diophantienne ax + by = c"
rem ============================================================================
' Exemples d'équations diophantiennes
 a = 3   : b = -2  : c = 7   : ' <---- X = 3 + 2 * k    ; Y = 1 + 3 * k
' a = 3   : b = 7   : c = 4   : ' <---- X = -1 + 7 * k   ; Y = 1 - 3 * k
' a = 63  : b = 85  : c = 1   : ' <---- X = 27 + 85 * k  ; Y = -20 - 63 * k
' a = 65  : b = 104 : c = 26  : ' <---- X = 2 + 8 * k    ; Y = -1 - 5 * k
' a = 217 : b = 34  : c = 2   : ' <---- X = -26 + 34 * k ; Y = 166 - 217 * k
' a = 544 : b = 944 : c = 160 : ' <---- X = 35 + 59 * k  ; Y = -20 - 34 * k
' a = 0   : b = 1   : c = 3   : ' <-----------------------  Pas de solutions !!!
rem ============================================================================
item_add 10,""
if b > 0 then plus$ = "+ " : else : plus$ = ""
t$ = " Pour l'équation : " + str$(a) + "x " + plus$ + str$(b) + "y = " + str$(c)
item_add 10, t$
if Diophancian(a,b,c) = true  
   item_add 10," Les solutions sont :" : item_add 10,"================="
   item_add 10,"   X = " + str$(x0) + " + " + str$(abs(q)) + " * k"
   t$ = "   Y = " + str$(y0)  
   if p*q > 0 then t$ = t$ + " -" : else : t$ = t$ + " + "
   item_add 10,t$ + str$(abs(p)) + " * k"
   item_add 10, "avec k dans l'ensemble Z des entiers rélatifs"    
else
   item_add 10,"Désolé ! Pas de solutions"
end_if
end
rem ============================================================================
' Retourne le Plus Grand Commun Diviseur de deux nombres entiers
FNC PGCD(a,b)
    dim_local r,x
    a = int(abs(a)) : b = int(abs(b))
    if (a > 1E10) or (b > 1E10) then result 1 : exit_fnc
    if (a = 0) or (b = 0) then result 1 : exit_fnc
    if a < b then x = a : a = b : b = x
    repeat
        r = a - b * int(a/b) : a = b : b = r
    until abs(r) < 1E-10
    result a  
END_FNC
rem ============================================================================
' Résolution de l'équation ax + by = c
' Paramètres d'entrée : a,b,c coefficients de l'équation (nombres entiers)
' Retourne 1 (true)
'        si des solutions existent (si le PGCD de a et b est aussi diviseur de c
' Retourne 0 (false) dans le cas contraire
' Cette fonction modifient les variables globales x0, y0, p et q qui contiendront
' les solutions X et Y si elles existent sous forme :
' X = x0 + k*p et Y = y0 - k*q avec k = 0,1,2,3, ... ou k = -1,-2,-3 ...
FNC Diophancian(a,b,c)
    dim_local pg,x1,x2,y1,y2,trouve,ret
    ret = false
    if (a = 0) or (b = 0) then result ret : exit_fnc
    pg = PGCD(a,b)
    a = a/pg : b = b/pg : c = c/pg
    if c <> int(c) then result ret : exit_fnc : ' pg doit être aussi diviseur de c
    x1 = 0 : y2 = 0 : trouve = false
    repeat
        y1 = (c-a*x1) / b
        if y1 = int(y1)
           x0 = x1 : y0 = y1 : trouve = true
        else
           x1 = 0-x1 : if x1 >= 0 then x1 = x1+1
           x2 = (c-b*y2) / a
           if x2 = int(x2)
              x0 = x2 : y0 = y2 : trouve = true
           else
              y2 = 0-y2 : if y2 >= 0 then y2 = y2+1
           end_if
        end_if
    until trouve = true
    p = a : q = b
    result true    
END_FNC
rem ============================================================================


@Le Martien
Tu peux trouver une application quelconque à l'équation diophantienne?
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

 Équation diophantienne ax + by = c Empty
MessageSujet: Re: Équation diophantienne ax + by = c    Équation diophantienne ax + by = c EmptyMar 5 Nov 2019 - 11:30

Hein jjn4, ça te la coupe !

Tu te rends compte, toutes les perspectives qui s'ouvrent à toi, grâce à papydall ?
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2709
Date d'inscription : 13/09/2009

 Équation diophantienne ax + by = c Empty
MessageSujet: +++    Équation diophantienne ax + by = c EmptyMar 5 Nov 2019 - 15:09

Ça ne marche pas...
Ah, je m'aperçois que je n'ai pas téléchargé
la dernière version de panoramic qui est parue
pendant que j'étais en vacances.
Et je ne la trouve plus sur le site karma de Jack...?
scratch

Papydall a écrit:
Tu peux trouver une application quelconque à l'équation diophantienne?
Facile, tous les martiens savent ça !
Ça sert à fabriquer un filet mathématique pour capturer des diophants !
 Équation diophantienne ax + by = c Diopha10 (NOTA: le diophant est un petit animal qui saute et se téléporte)
Mais l'animal est en voie de disparition sur la planète Mars,
et toute personne qui tenterait d'en capturerait un
serait aussitôt jeté dans une prison mathématique
dont la formule est : (sin(x)+log(y)-z)²=65.965.292.659.262.999.299.929,333333333 années
avec interdiction de mourir avant la fin de la peine !
Ah, ah, ça vous, la coupe, hein !
tongue
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Contenu sponsorisé





 Équation diophantienne ax + by = c Empty
MessageSujet: Re: Équation diophantienne ax + by = c    Équation diophantienne ax + by = c Empty

Revenir en haut Aller en bas
 
Équation diophantienne ax + by = c
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Equation d’un œuf
» Equation d'une droite
» Equation de la pomme
» Visualisation d'une équation. Source inachevé...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: