Si je n'écris pas le code régulièrement, je suis tombé sur une situation où je ne peux même pas écrire de code logique simple, alors je prendrai note de ce que j'ai appris lorsque j'ai réétudié, y compris la signification de la rééducation. Je l'ai résumé comme.
J'essaierai de mettre en œuvre l'histoire la plus représentative de M. Nabeats (M. Katsura Mitsudo) dans le monde, "Seulement quand le nombre est un multiple de 3 et le nombre avec 3 est stupide" dans diverses langues.
** Wikipédia --Katsura 3e # Histoire principale et gag ** https://ja.wikipedia.org/wiki/桂三度#主な持ちネタ&ギャグ
Je produis simplement des nombres de 1 à 100 avec des sauts de ligne, mais seulement quand le nombre est un multiple de 3 et le nombre a 3, la lettre faciale "٩ (ᐛ) و" est combinée avec ": (deux-points)". Sortie après le nombre.
Image de sortie
1
2
3 : ٩( ᐛ )و
4
5
6 : ٩( ᐛ )و
7
8
9 : ٩( ᐛ )و
10
11
12 : ٩( ᐛ )و
13 : ٩( ᐛ )و
14
15 : ٩( ᐛ )و
16
17
18 : ٩( ᐛ )و
19
20
21 : ٩( ᐛ )و
22
23 : ٩( ᐛ )و
24 : ٩( ᐛ )و
25
26
27 : ٩( ᐛ )و
28
29
30 : ٩( ᐛ )و
31 : ٩( ᐛ )و
32 : ٩( ᐛ )و
33 : ٩( ᐛ )و
34 : ٩( ᐛ )و
35 : ٩( ᐛ )و
36 : ٩( ᐛ )و
37 : ٩( ᐛ )و
38 : ٩( ᐛ )و
39 : ٩( ᐛ )و
40
41
42 : ٩( ᐛ )و
43 : ٩( ᐛ )و
44
45 : ٩( ᐛ )و
46
47
48 : ٩( ᐛ )و
49
50
51 : ٩( ᐛ )و
52
53 : ٩( ᐛ )و
54 : ٩( ᐛ )و
55
56
57 : ٩( ᐛ )و
58
59
60 : ٩( ᐛ )و
61
62
63 : ٩( ᐛ )و
64
65
66 : ٩( ᐛ )و
67
68
69 : ٩( ᐛ )و
70
71
72 : ٩( ᐛ )و
73 : ٩( ᐛ )و
74
75 : ٩( ᐛ )و
76
77
78 : ٩( ᐛ )و
79
80
81 : ٩( ᐛ )و
82
83 : ٩( ᐛ )و
84 : ٩( ᐛ )و
85
86
87 : ٩( ᐛ )و
88
89
90 : ٩( ᐛ )و
91
92
93 : ٩( ᐛ )و
94
95
96 : ٩( ᐛ )و
97
98
99 : ٩( ᐛ )و
100
Vous pouvez utiliser grep pour juger des" nombres avec 3 ", c'est donc étonnamment simple à écrire.
Pour Bash
for i in $(seq 1 100) #Boucle à travers les nombres de 1 à 100
do
  if [ $(($i % 3)) == 0 ] || [ $(echo "$i" | grep "3") ] #Soyez stupide seulement quand c'est un multiple de 3 et un nombre avec 3
  then
    echo "${i} : ٩( ᐛ )و"
  else
    echo "$i"  #Autre que cela, seule sortie numérique
  fi
done
Le jugement du "nombre avec 3" est "String.valueOf (i) .indexOf (" 3 ")! = -1`
Pour Java
import java.util.*;
public class Main {
    public static void main(String[] args) throws Exception {
        //Boucle à travers les nombres de 1 à 100
        for(int i=1; i<=100; i++){
            //Soyez stupide seulement quand c'est un multiple de 3 et un nombre avec 3
            if(i%3 == 0 || String.valueOf(i).indexOf("3") != -1 ){ 
                System.out.println(i + " : ٩( ᐛ )و");
            } else {
                System.out.println(i);
            }
        }
    }
}
Je pense que vous pouvez écrire de différentes manières, mais j'ai personnellement essayé de l'écrire comme Scala.
Pour Scala
object Main extends App{
    println(1 to 100 map ((n) => { //Générer une carte en utilisant un nombre de 1 à 100 comme clé
        var s = n.toString() //Remplacez la clé convertie en chaîne de caractères comme par la valeur de la carte
        if(n % 3 == 0 || s.contains('3')) {s += " : ٩( ᐛ )و"} //Soyez stupide seulement quand c'est un multiple de 3 et un nombre avec 3
        s
    }) reduceLeft ((s,e) => { s + "\n" + e }) ) //Sortie dans l'ordre tout en cassant la valeur de la carte
}
Je pense que vous pouvez écrire de différentes manières dans le cas de PowerShell, mais j'ai essayé de l'écrire comme une fonction suivant Scala
Pour PowerShell
1..100 | 
    %{
        if (($_ % 3 -eq 0) -or ($_ -match "3")) { echo("$_" + " : ٩( ᐛ )و") }
        else { echo("$_") }
    }
Je pense que Python est un langage très simple pour écrire ce genre de traitement
Pour Python 3
# coding: utf-8
for num in range(1, 100+1):
    if num % 3 == 0 or "3" in str(num):
        print("{0} : ٩( ᐛ )و".format(num))
    else:
        print(num)
Comme Python, Ruby est un langage très facile à écrire.
Pour Ruby
#!/bin/env ruby
for i in 1..100
  if i % 3 == 0 || i.to_s =~ /3/
    printf( "%d : ٩( ᐛ )و\n", i )
  else
    printf( "%d\n", i )
  end
end
Je pensais que Golang aurait du mal avec la conversion de type, mais j'ai pu l'écrire simplement de manière inattendue.
Pour aller
package main
import (
    "fmt"
    "strconv"
    "strings"
)
func main() {
    //Boucle à travers les nombres de 1 à 100
    for i := 1; i <= 100; i++ {
        //Convertir un entier en chaîne
        var s string = strconv.Itoa(i)
        //Soyez stupide seulement quand c'est un multiple de 3 et un nombre avec 3
        if i%3 == 0 || strings.Contains(s, "3") {
            fmt.Println(s + " : ٩( ᐛ )و")
        } else {
            fmt.Println(s)
        }
    }
}
c'est tout.
Si vous en avez envie, j'essaierai d'autres langues.