algorithm Premiers pas avec l'algorithme Simple Fizz Buzz dans Swift


Exemple

Pour ceux d'entre vous qui sont nouveaux dans la programmation de Swift et ceux qui viennent de différentes bases de programmation, telles que Python ou Java, cet article devrait être très utile. Dans cet article, nous discuterons d'une solution simple pour implémenter des algorithmes rapides.

Fizz Buzz

Vous avez peut-être vu Fizz Buzz écrit comme Fizz Buzz, FizzBuzz ou Fizz-Buzz; ils font tous référence à la même chose. Cette "chose" est le sujet principal de discussion aujourd'hui. Tout d'abord, qu'est-ce que FizzBuzz?

C'est une question courante qui se pose dans les entretiens d'embauche.

Imaginez une série d'un nombre de 1 à 10.

1 2 3 4 5 6 7 8 9 10

Fizz et Buzz font référence à un nombre multiple de 3 et 5 respectivement. En d'autres termes, si un nombre est divisible par 3, il est remplacé par fizz; si un nombre est divisible par 5, il est remplacé par un buzz. Si un nombre est simultanément un multiple de 3 et 5, le numéro est remplacé par "fizz buzz". En substance, il émule le célèbre jeu pour enfants "fizz buzz".

Pour travailler sur ce problème, ouvrez Xcode pour créer un nouveau terrain de jeu et initialiser un tableau comme ci-dessous:

// for example 
let number  = [1,2,3,4,5]
// here 3 is fizz and 5 is buzz

Pour trouver tous les effets et les buzz, il faut parcourir le tableau et vérifier quels nombres sont fizz et quels sont les buzz. Pour ce faire, créez une boucle for pour parcourir le tableau que nous avons initialisé:

for num in number {
  // Body and calculation goes here
}

Après cela, nous pouvons simplement utiliser la condition "if else" et l'opérateur de module dans swift ie -% pour localiser le fizz et le buzz

for num in number {
  if num % 3 == 0 {
    print("\(num) fizz")
  } else {
    print(num)
  }
}

Génial! Vous pouvez aller à la console de débogage dans la cour de jeu Xcode pour voir la sortie. Vous constaterez que les "fizzes" ont été triés dans votre tableau.

Pour la partie Buzz, nous utiliserons la même technique. Essayons avant de faire défiler l'article - vous pouvez vérifier vos résultats contre cet article une fois que vous avez terminé.

for num in number {
  if num % 3 == 0 {
    print("\(num) fizz")
  } else if num % 5 == 0 {
    print("\(num) buzz")
  } else {
    print(num)
  }
}

Vérifiez la sortie!

C'est plutôt simple - vous avez divisé le nombre par 3, fizz et divisé le nombre par 5, buzz. Maintenant, augmentez les nombres dans le tableau

let number = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]

Nous avons augmenté la gamme des nombres de 1 à 10 à 1 à 15 afin de démontrer le concept d'un «buzz de fizz». Puisque 15 est un multiple de 3 et 5, le nombre doit être remplacé par "buzz". Essayez par vous-même et vérifiez la réponse!

Voici la solution:

for num in number {
  if num % 3 == 0 && num % 5 == 0 {
    print("\(num) fizz buzz")
  } else if num % 3 == 0 {
    print("\(num) fizz")
  } else if num % 5 == 0 {
    print("\(num) buzz")
  } else {
    print(num)
  }
}

Attendez ... ce n'est pas fini! Le but de l'algorithme est de personnaliser le runtime correctement. Imaginez si la plage augmente de 1-15 à 1-100. Le compilateur vérifiera chaque nombre pour déterminer s'il est divisible par 3 ou 5. Il relèverait alors les nombres pour vérifier si les nombres sont divisibles par 3 et 5. Le code devrait essentiellement parcourir chaque nombre du tableau. deux fois - il devrait d'abord exécuter les nombres par 3 et ensuite l'exécuter par 5. Pour accélérer le processus, nous pouvons simplement dire à notre code de diviser les nombres directement par 15.

Voici le code final:

for num in number {
  if num % 15 == 0 {
    print("\(num) fizz buzz")
  } else if num % 3 == 0 {
    print("\(num) fizz")
  } else if num % 5 == 0 {
    print("\(num) buzz")
  } else {
    print(num)
  }
}

Aussi simple que cela, vous pouvez utiliser n'importe quelle langue de votre choix et commencer

Profitez du codage