Reproduire la méthode de division mutuelle euclidienne en Python

introduction

Ceci est un mémorandum d'un super débutant

Ceci est mon premier message posté. Cela fait une semaine que j'ai commencé à faire du python. Je suis toujours une fille, donc je m'entraîne avec une collection de problèmes que j'ai trouvés en ligne.

Je vais laisser un article en mémoire car le problème que j'ai trouvé à ce moment-là n'a pas pu être bien résolu.

C'est un incontournable pour les super débutants! !! !!

Qu'est-ce que la méthode euclidienne de division mutuelle?

En termes simples, une méthode de calcul permettant de déterminer mécaniquement l'engagement maximal.

Méthode de calcul ① Préparez deux nombres naturels que vous souhaitez vérifier ② Grand ÷ petit (3) S'il y a un reliquat, le plus petit nombre et le gage maximum de ce montant correspondent au gage maximum des deux premiers. ④ En répétant cela, vous pouvez trouver la promesse maximale avec des chiffres simples.

Eh bien, ça ressemble à ça. Je suis désolé, c'est difficile à comprendre.

Essayez en fait

Maintenant écrivons le code. Tout d'abord, définissez une nouvelle fonction gcd ()

def gcd(a,b) #Définir la fonction

Utilisez def pour définir vous-même la fonction.

Ensuite, nous écrirons le traitement effectué par cette fonction. Avec la division mutuelle euclidienne, vous devez répéter le calcul plusieurs fois. Par conséquent, le branchement conditionnel suivant est requis.

① Lorsqu'il n'y a pas de reste (lorsqu'il est divisible), le calcul s'arrête là ② S'il y a un reste, continuez le calcul

Le traitement est divisé selon les deux cas. En d'autres termes, vous devez utiliser if!

Par conséquent, je pense que le code sera comme ci-dessous.

def gcd(a,b) #Définir la fonction
#Au moment de ①
    if b == 0
        return a
#Au moment de ②
    else:
        return gcd(b,a%b)

C'est la fin de l'écriture! !! !! Après cela, il semble que vous deviez utiliser la fonction d'entrée et ajouter la fonction d'impression pour sortir le résultat afin que vous puissiez entrer librement vos 2 nombres préférés. ↓ est le formulaire rempli.

a,b = input(),input()

#Convertir en entier
a,b = int(a),int(b)

#Définir la fonction
def gcd(a,b) 
#Au moment de ①
    if b == 0
        return a
#Au moment de ②
    else:
        return gcd(b,a%b)
#Résultat de sortie
print(gcd(a,b))

C'est tout ce qu'on peut en dire! !!

Résumé

Cette fois, j'ai utilisé python pour exprimer la méthode de division mutuelle d'Euclidean.

Au début, l'entrée ne fonctionnait pas et j'ai eu une erreur, mais lorsque j'ai attaché l'int, cela a fonctionné. ~~ Je ne sais pas pourquoi, alors je serais heureux si vous pouviez m'en parler. ~~

Merci d'avoir lu jusqu'au bout! !! !! N'hésitez pas à me donner des conseils!

Recommended Posts

Reproduire la méthode de division mutuelle euclidienne en Python
Algorithme en Python (méthode Bellman-Ford, Bellman-Ford)
Algorithme en Python (Dijkstra)
Algorithme en Python (dichotomie)
Implémenter l'algorithme de Dijkstra en python
Algorithme Python
Algorithme en Python (recherche de priorité de largeur, bfs)
Algorithme de tri et implémentation en Python
Ecrire des algorithmes A * (A-star) en Python
Développons un algorithme d'investissement avec Python 2
Algorithme en Python (recherche de priorité en profondeur, dfs)
Implémentation d'un algorithme simple en Python 2
Algorithme (arborescence de segments) en Python (s'entraîner)
Exécutez un algorithme simple en Python
Quadtree en Python --2
Python en optimisation
CURL en Python
Métaprogrammation avec Python
Python 3.3 avec Anaconda
Géocodage en python
SendKeys en Python
Méta-analyse en Python
Mémorandum Python (algorithme)
Unittest en Python
Livre Ali en python: méthode Dyxtra Sec.2-5
Algorithme en Python (ABC 146 C Dichotomy
Époque en Python
Allemand en Python
DCI en Python
tri rapide en python
nCr en python
N-Gram en Python
Programmation avec Python
Plink en Python
Constante en Python
Ecrire une méthode de cupidité simple en Python
FizzBuzz en Python
Sqlite en Python
Étape AIC en Python
LINE-Bot [0] en Python
CSV en Python
Assemblage inversé avec Python
Réflexion en Python
Constante en Python
nCr en Python.
format en python
Scons en Python 3
Puyopuyo en python
python dans virtualenv
PPAP en Python
Quad-tree en Python
Algorithme d'alignement par méthode d'insertion en Python
Réflexion en Python
Chimie avec Python
Hashable en Python
DirectLiNGAM en Python
LiNGAM en Python
Aplatir en Python