[JAVA] [#FizzBuzz] Schreiben Sie in verschiedenen Sprachen, die "Zahlen von 1 bis 100 zählen und nur dann dumm werden, wenn die Zahl ein Vielfaches von 3 und die Zahl mit 3 ist".

Wenn ich den Code nicht regelmäßig schreibe, stoße ich auf eine Situation, in der ich nicht einmal einfachen Logikcode schreiben kann. Daher werde ich mir notieren, was ich beim erneuten Studium gelernt habe, einschließlich der Bedeutung der Rehabilitation. Ich habe es als zusammengefasst.

0. Beschreibung

Ich werde versuchen, die repräsentativste Geschichte von Herrn Nabeats (Herrn Katsura Mitsudo) in der Welt "Nur wenn die Zahl ein Vielfaches von 3 und die Zahl mit 3 dumm ist" in verschiedenen Sprachen umzusetzen.

** Wikipedia - Katsura 3rd # Hauptgeschichte & Gag ** https://ja.wikipedia.org/wiki/桂三度#主な持ちネタ&ギャグ

Ich gebe einfach Zahlen von 1 bis 100 mit Zeilenumbrüchen aus, aber nur wenn die Zahl ein Vielfaches von 3 ist und die Zahl 3 hat, wird der Gesichtsbuchstabe "٩ (ᐛ) و" mit ": (Doppelpunkt)" kombiniert. Ausgabe nach der Nummer.

Ausgabebild


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

1. Für Bash

Sie können "grep" verwenden, um "Zahlen mit 3" zu beurteilen, so dass das Schreiben überraschend einfach ist.

Für Bash


for i in $(seq 1 100) #Durchlaufen Sie Zahlen von 1 bis 100
do
  if [ $(($i % 3)) == 0 ] || [ $(echo "$i" | grep "3") ] #Sei nur dumm, wenn es ein Vielfaches von 3 und eine Zahl mit 3 ist
  then
    echo "${i} : ٩( ᐛ )و"
  else
    echo "$i"  #Ansonsten nur numerische Ausgabe
  fi
done

In Wandbox ausführen

2. Für Java

Die Beurteilung von "Zahl mit 3" lautet "String.valueOf (i) .indexOf (" 3 ")! = -1"

Für Java


import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        //Durchlaufen Sie Zahlen von 1 bis 100
        for(int i=1; i<=100; i++){
            //Sei nur dumm, wenn es ein Vielfaches von 3 und eine Zahl mit 3 ist
            if(i%3 == 0 || String.valueOf(i).indexOf("3") != -1 ){ 
                System.out.println(i + " : ٩( ᐛ )و");
            } else {
                System.out.println(i);
            }
        }
    }
}

In Wandbox ausführen

3. Für Scala

Ich denke, Sie können auf verschiedene Arten schreiben, aber ich persönlich habe versucht, es wie Scala zu schreiben.

Für Scala


object Main extends App{
    println(1 to 100 map ((n) => { //Generieren Sie eine Karte mit einer Zahl von 1 bis 100 als Schlüssel
        var s = n.toString() //Ersetzen Sie den in eine Zeichenfolge konvertierten Schlüssel durch den Kartenwert
        if(n % 3 == 0 || s.contains('3')) {s += " : ٩( ᐛ )و"} //Sei nur dumm, wenn es ein Vielfaches von 3 und eine Zahl mit 3 ist
        s
    }) reduceLeft ((s,e) => { s + "\n" + e }) ) //Ausgabe in der richtigen Reihenfolge, während der Kartenwert gebrochen wird
}

In Wandbox ausführen

4. Für PowerShell

Ich denke, dass Sie im Fall von PowerShell auf verschiedene Arten schreiben können, aber ich habe versucht, es wie eine Funktion nach Scala zu schreiben

Für PowerShell


1..100 | 
    %{
        if (($_ % 3 -eq 0) -or ($_ -match "3")) { echo("$_" + " : ٩( ᐛ )و") }
        else { echo("$_") }
    }

5. Für Python 3

Ich denke, Python ist eine sehr einfache Sprache, um diese Art der Verarbeitung zu schreiben

Für 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)

In Wandbox ausführen

6. Für Ruby

Ruby ist wie Python eine Sprache, die sehr einfach zu schreiben ist.

Für 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

In Wandbox ausführen

7. Für Go

Ich dachte, dass Golang es mit der Typkonvertierung schwer haben würde, aber ich konnte es unerwartet einfach schreiben.

Für Go


package main

import (
    "fmt"
    "strconv"
    "strings"
)

func main() {
    //Durchlaufen Sie Zahlen von 1 bis 100
    for i := 1; i <= 100; i++ {
        //Konvertiere int in string
        var s string = strconv.Itoa(i)
        //Sei nur dumm, wenn es ein Vielfaches von 3 und eine Zahl mit 3 ist
        if i%3 == 0 || strings.Contains(s, "3") {
            fmt.Println(s + " : ٩( ᐛ )و")
        } else {
            fmt.Println(s)
        }
    }
}

In Wandbox ausführen


das ist alles.

Wenn Sie Lust dazu haben, werde ich andere Sprachen ausprobieren.

Recommended Posts

[#FizzBuzz] Schreiben Sie in verschiedenen Sprachen, die "Zahlen von 1 bis 100 zählen und nur dann dumm werden, wenn die Zahl ein Vielfaches von 3 und die Zahl mit 3 ist".
10 Sperrfeuer mit ● oder ■, die wahrscheinlich im Training auftreten (Java)