FizzBuzz (1) (Schleifen)
Schreiben Sie ein Programm, das die Zahlen von 1 bis 100 ausgibt. Bei jeder Zahl, die durch 5 teilbar ist, soll "fizz" ausgegeben werden und bei jeder Zahl, die durch 7 teilbar ist, soll "buzz" ausgegeben werden. Wenn die Zahl sowohl durch 7 als auch durch 5 teilbar ist, soll "fizzbuzz" ausgegeben werden. Der Modulo-Operator ermittelt den Rest bei Division. Somit ist eine Teilbarkeit einfach dann erreicht, wenn die Modulo-Operation (%, MOD) den Rest 0 liefert.
2 Kommentare
37 Lösung(en)
- python
- java
- java
- javascript
- javascript
- php
- php
- cpp
- csharp
- vb
- c
- ruby
- perl
- python
- javascript
- php
- generic
- javascript
- csharp
- java
- abap
- c
- csharp
- java
- python
- php
- python
- csharp
- csharp
- csharp
- cpp
- javascript
- cpp
- abap
- csharp
- cpp
- csharp
# FizzBuzz Spiel
for i in range(1,101):
print str(i)
if ((i%5==0)&(i%7==0)):
print 'fizzbuzz'
continue
if (i%5==0):
print 'fizz'
if (i%7==0):
print 'buzz'
Lösung von: Martin Guggisberg (Universität Basel / PH FHNW)
public class Main {
public static void main(String[] args) {
for( int i = 1; i <= 100; i++ ) {
if ( i % 5 == 0 ) {
if ( i % 7 == 0 )
System.out.println( "fizzbuzz" );
else
System.out.println( "fizz" );
}
else if ( i % 7 == 0 ) {
System.out.println( "buzz" );
}
else
System.out.println( i );
}
}
}
/**
* @author Philipp Gressly (phi@gressly.ch)
*/
public class FizzBuzz {
public static void main(String[] args) {
new FizzBuzz().top();}
void top() {
int i = 1;
while(i <= 100) {
ausruf(i);
i = i + 1;}
}
void ausruf(int zahl) {
if(0 == zahl % 5) {
System.out.print("fizz"); }
if(0 == zahl % 7) {
System.out.print("buzz"); }
if(0 != zahl % 5 && 0 != zahl % 7) {
System.out.print(zahl);
}
System.out.println(); } // new line
} // end of class FizzBuzz
/* ph. gressly
* Mai 2010
*/
/* Hauptprogramm */
function fizzbuzz() {
var anzahl;
var fizzBuzzArray;
//window.alert("hier bin ich.")
anzahl = anzahlabholen();
fizzBuzzArray = arrayErzeugenUndFuellen(anzahl);
ausgabe(fizzBuzzArray);
}
function arrayErzeugenUndFuellen(anzahl) {
var arr = new Array(anzahl + 1); // [0] wird nicht verwendet.
var index;
index = 1;
while(index <= anzahl) {
arr[index] = fizzBuzzEinzelwert(index);
index = index + 1;
}
return arr;
}
function fizzBuzzEinzelwert(zahl) {
if(zahl % 5 == 0) {
if(zahl % 7 == 0) {
return "fizzbuzz";
}
return "fizz";
}
// nicht durch 5 teilbar
if(zahl % 7 == 0) {
return "buzz";
}
return zahl;
}
function anzahlabholen() {
var eingabeFeld;
var eingabeWert;
eingabeFeld = document.getElementById("anzahl");
eingabeWert = eingabeFeld.value;
return 1*eingabeWert; // String nach Zahl umwandeln
}
function ausgabe(ausgabeArray) {
var ausgabePara;
ausgabePara = document.getElementById("ausgabePlatzhalter");
var ausgabeString = "";
var index;
index = 1;
while(index < ausgabeArray.length) {
ausgabeString = ausgabeString + ausgabeArray[index] + "<br />";
index = index + 1;
}
ausgabePara.innerHTML = ausgabeString;
}
function hauptprogramm() {
var counter = 0;
while (counter < 100) {
counter = counter + 1;
addText(counter);
}
}
function addText(zahl) {
body = document.getElementsByTagName("body")[0];
par = document.createElementNS("http://www.w3.org/1999/xhtml", "p");
if (durch5teilbar(zahl) || durch7teilbar(zahl)) {
if (durch5teilbar(zahl) && durch7teilbar(zahl)) {
par.innerHTML = zahl + " fizzbuzz";
body.appendChild(par);
} else {
if (durch5teilbar(zahl)) {
par.innerHTML = zahl + " fizz";
body.appendChild(par);
}
if (durch7teilbar(zahl)) {
par.innerHTML = zahl + " buzz";
body.appendChild(par);
}
}
} else {
par.innerHTML = zahl;
body.appendChild(par);
}
}
function durch5teilbar(zahl) {
return 0 == zahl%5;
}
function durch7teilbar(zahl) {
return 0 == zahl%7;
}
Lösung von: Raphael Hirsiger (Credit Suisse)
class cFizzBuzz {
private $fizz;
private $buzz;
private $completeFizzBuzz;
public function _getFizzBuzz () {
$this->fizz = 'fizz';
$this->buzz = 'buzz';
// Wiederhole solang $zahl kleiner gleich 100 ist
for ( $zahl=1; $zahl <= 100; $zahl++ ) {
// Ist die Zahl durch 5 und 7 teilbar?
if ( ( $zahl % 5 == 0 ) && ( $zahl % 7 == 0 ) ) {
$this->completeFizzBuzz .= $this->fizz . $this->buzz . '<br />';
// Ist die Zahl durch 5 teilbar?
} else if ( $zahl % 5 == 0 ) {
$this->completeFizzBuzz .= $this->fizz . '<br />';
// Ist die Zahl durch 7 teilbar?
} else if ( $zahl % 7 == 0 ) {
$this->completeFizzBuzz .= $this->buzz . '<br />';
// Anosonsten gebe die Zahlen aus
} else {
$this->completeFizzBuzz .= $zahl . '<br />';
}
}
return $this->completeFizzBuzz;
}
}
$objFizzBuzz = new cFizzBuzz();
echo $objFizzBuzz->_getFizzBuzz();
Lösung von: Name nicht veröffentlicht
<?php
for ($i=1;$i<=100;$i++){
if ($i % 5 == 0){
if ($i % 7 == 0){
echo 'fizzbuzz
<br />';
}
else {
echo 'fizz
<br />';
}
}
elseif ($i % 7 == 0){
echo 'buzz
<br />';
}
else {
echo $i.'
<br />';
}
}
?>
Lösung von: Name nicht veröffentlicht
#include <stdio.h>
#include <conio.h>
using namespace std;
int check(int number) {
printf("%i%s", number, ": ");
if (number % 5 == 0) {
printf("%s", "fizz");
}
if (number % 7 == 0) {
printf("%s", "buzz");
}
printf("\n");
}
int main() {
int number = 1;
for (int i = 1; i <= 100; i++, number++) {
check(number);
}
getch();
return 0;
}
Lösung von: Name nicht veröffentlicht
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/* ----------------------------------------
*
* Copyright Elias Rüedi 2013
*
* ---------------------------------------- */
namespace Aufgabe_4._22_FizzBuzz
{
class Program
{
static void Main(string[] args)
{
for (int i = 1; i <= 100; i++)
{
if (i % 5 == 0)
{
Console.Write("fizz");
}
if (i % 7 == 0)
{
Console.Write("buzz");
}
if (!(i % 7 == 0 || i % 5 == 0))
{
Console.Write(Convert.ToString(i));
}
Console.WriteLine();
}
}
}
}
Lösung von: Elias Rüedi (KFTG)
Function FizzBuzz()
FizzBuzz = False
Dim zähler As Integer
Dim ausgabe As String
Dim rest1 As Integer
Dim rest2 As Integer
For zähler = 1 To 100
rest1 = zähler Mod 5
rest2 = zähler Mod 7
If rest1 = 0 And rest2 = 0 Then
ausgabe = ausgabe & zähler & "FizzBuzz" & vbCrLf
ElseIf rest2 = 0 Then
ausgabe = ausgabe & zähler & "Buzz" & vbCrLf
ElseIf rest1 = 0 Then
ausgabe = ausgabe & zähler & "Fizz" & vbCrLf
End If
Next
txtAus.Text = ausgabe
FizzBuzz = True
End Function
Lösung von: Johannes vh ()
#include <stdio.h>
#include <stdlib.h>
int main()
{
// Deklarationen
int iZaehler = 1;
//int iTeiler = 1;
//Schleife und Abfrage
while(iZaehler <= 100) {
if(iZaehler % 5 == 0 && iZaehler % 7 == 0) {
printf("fizzbuzz\n");
} else if(iZaehler % 5 == 0) {
printf("fizz\n");
} else if(iZaehler % 7 == 0) {
printf("buzz\n");
} else {
printf("%i\n", iZaehler);
}
iZaehler += 1;
}
getchar();
return 0;
}
Lösung von: Elias Zech (Optics Balzers)
(1..100).each do |x|
fizzbuzz = " "
if x % 5 == 0
fizzbuzz += "fizz"
end
if x % 7 == 0
fizzbuzz += "buzz"
end
puts x.to_s + fizzbuzz
end
Lösung von: Name nicht veröffentlicht
#!/usr/bin/env perl
#use Modern::Perl;
# Schreiben Sie ein Programm, das die Zahlen von 1 bis 100 ausgibt. Bei jeder Zahl, die durch 5 teilbar ist,
# soll "fizz" ausgegeben werden und bei jeder Zahl, die durch 7 teilbar ist, soll "buzz" ausgegeben werden.
# Wenn die Zahl sowohl durch 7 als auch durch 5 teilbar ist, soll "fizzbuzz" ausgegeben werden.
# Der Modulo-Operator ermittelt den Rest bei Division. Somit ist eine Teilbarkeit einfach dann erreicht, wenn die Modulo-Operation (%, MOD) den Rest 0 liefert.
foreach my $i (1..100) {
print $i;
if (($i % 5 == 0) && ($i % 7 == 0)) {
print " fizzbuzz\n";
}
elsif ($i % 5 == 0) {
print " fizz\n";
}
elsif ($i % 7 == 0) {
print " buzz\n";
}
else {
print "\n";
}
}
Lösung von: Patricia Beier ()
# Python 3.4.2
for i in range(1,101):
if i % 5 == 0 and i % 7 == 0:
print(i, 'fizzbuzz')
continue
if i % 5 == 0:
print(i, 'fizz')
continue
if i % 7 == 0:
print(i, 'buzz')
continue
else:
print(i)
Lösung von: Hilli Hilli ()
function fizzBuzz(num){
if (num % 5 == 0 && num % 7 == 0) return "fizzbuzz";
if (num % 5 == 0) return "fizz";
if (num % 7 == 0) return "buzz";
return num;
}
for (var i = 1; i <= 100; i++) console.log(fizzBuzz(i));
Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)
<?php
//Zahlenreihe von 1-100
for ($i=1; $i<=100; $i++)
{
//Ist die Zahl durch 7 und 5 teilbar?
if($i%7 == 0 && $i%5 == 0)
{
echo $i . " =fizzbuzz<br>";
}
//Ist die Zahl nur durch 5 teilbar?
else if ($i%5 == 0 && $i%7 != 0)
{
echo $i . " =fizz<br>";
}
//Ist die Zahl nur durch 7 teilbar?
else if ($i%7 == 0 && $i%5 != 0)
{
echo $i . " =buzz<br>";
}
}
?>
Lösung von: Maik Scheiermann (Powercloud GmbH)
'3.3.2017 - PowerBASIC 10
#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN () AS LONG
DIM i AS INTEGER
DIM Anzahl AS INTEGER
DIM Ausgabe AS STRING
FOR i = 1 TO 100
IF i MOD 5 = 0 AND i MOD 7 = 0 THEN
Ausgabe += "FizzBuzz" & $CRLF
ELSEIF i MOD 5 = 0 THEN
Ausgabe += "Fizz" & $CRLF
ELSEIF i MOD 7 = 0 THEN
Ausgabe += "Buzz" & $CRLF
ELSE
Ausgabe += STR$(i) & $CRLF
END IF
NEXT i
MSGBOX Ausgabe,,EXE.NAME$
END FUNCTION
Lösung von: Markus Sägesser (keine)
for (var x = 1; x < 101; x++) {
if (x % 5 === 0 && x % 7 === 0) {
console.log("fizzbuzz");
} else if (x % 5 === 0) {
console.log("fizz");
} else if (x % 7 === 0) {
console.log("buzz");
} else {
console.log(x);
}
}
Lösung von: Irene Strauß (Liceo Scientifico, Bruneck)
namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
for (int x = 1; x < 101; x++)
{
if(x % 5 == 0 && x % 7 == 0)
{
Console.WriteLine("FizzBuzz");
} else if (x % 5 == 0)
{
Console.WriteLine("Fizz");
} else if (x % 7 == 0)
{
Console.WriteLine("Buzz");
} else
{
Console.WriteLine("{0}", x);
}
}
}
}
}
Lösung von: Irene Strauß (Liceo Scientifico, Bruneck)
public class Main {
public static void main(String[] args) {
for(int i = 1; i <= 100; i++) {
if(i % 5 == 0 && i % 7 == 0) {
System.out.println(i + ": fizzbuzz");
} else if(i % 5 == 0) {
System.out.println(i + ": fizz");
} else if(i % 7 == 0) {
System.out.println(i + ": buzz");
}
}
}
}
Lösung von: Name nicht veröffentlicht
REPORT FIZZBUZZ.
DATA lv_zaehler TYPE i.
lv_zaehler = 0.
DATA lv_mod5 TYPE i.
DATA lv_mod7 TYPE i.
DATA lv_ausg TYPE string.
WHILE lv_zaehler < 100.
lv_zaehler = lv_zaehler + 1.
lv_mod5 = lv_zaehler MOD 5.
lv_mod7 = lv_zaehler MOD 7.
IF lv_mod5 = 0.
lv_ausg = 'fizz'.
IF lv_mod7 = 0.
lv_ausg = 'fizzbuzz'.
ENDIF.
ELSEIF lv_mod7 = 0.
lv_ausg = 'buzz'.
ELSE.
lv_ausg = lv_zaehler.
ENDIF.
WRITE lv_ausg.
new-line.
ENDWHILE.
Lösung von: Name nicht veröffentlicht
#include<stdio.h>
int main (void){
int i;
for(i=1; i<=100; i++){
if (i%5==0 && i%7!=0){
printf("fizz\n",i);
}
if (i%7==0 && i%5!=0){
printf("buzz\n",i);
}
if(i%7==0 && i%5==0){
printf("fizzbuzz\n",i);
}
}
return 0;
}
Lösung von: Name nicht veröffentlicht
using System;
public class Program
{
public static void Main()
{
fizzBuzz(1, 100, 5, 7);
}
private static void fizzBuzz(int min, int max, int fizz, int buzz){
bool modFizz;
bool modBuzz;
for(int i=min;i<=max;i++){
modFizz = (i%fizz==0);
modBuzz = (i%buzz==0);
if(modFizz){
Console.Write("Fizz");
}
if(modBuzz){
Console.Write("Buzz");
}
if(!modFizz && !modBuzz){
Console.Write(i);
}
Console.WriteLine();
}
}
}
Lösung von: Name nicht veröffentlicht
import java.util.stream.IntStream;
/**
* @version Java 8
* @author Carsten Krahl
*/
public class Launcher {
public static void main(String[] args) {
IntStream.range( 1, 101 ).forEach( i -> {
boolean fizz = i % 5 == 0;
boolean buzz = i % 7 == 0;
System.out.println( ((i < 10) ? "00" : (i<100) ? "0" : "" ) + i + ": " +
((fizz) ? "fizz" : "" ) + ((buzz) ? "buzz" : "" ));
});
}
}
Lösung von: Carsten Krahl (BA Leipzig)
for i in range(1, 101):
print(f"{'fizz' if not i%3 else ''}{'buzz' if not i%5 else ''}{i if i%3 and i%5 else ''}")
Lösung von: Peter DerMeter (Unität Bockum)
<?php //Konfigurierbare Lösung um bei einer sponanten Änderung der Aufgabe (z.B. Änderung zu 3 & 5, oder andere Worte) nicht den ganzen Code durchgehen zu müssen.
$firstWord = "Fizz"; //Das erste Wort, dass ausgegeben werden soll
$firstOccurence = 5; //Wann das erste Wort ausgegeben werden soll
$secondWord = "Buzz"; //Das zweite Wort, dass ausgegeben werden soll
$secondOccurence = 7; //Wann das erste Wort ausgegeben werden soll
$runs = 100; //Auf welche Zahl hochgezählt werden soll
for($runsdone = 1; $runsdone <= $runs; $runsdone++)
{
$output =""; //Output-Variable leeren falls im letzten Durchgang etwas eingefügt wurde.
($runsdone % $firstOccurence == 0 ? $output = $output.$firstWord : ""); //Erstes Wort an die Output-Variable anfügen falls rest bei Division = 0
($runsdone % $secondOccurence == 0 ? $output = $output.$secondWord : ""); //Zweites Wort an die Output-Variable anfügen falls rest bei Division = 0
($output == "" ? $output = $runsdone : ""); //Falls nichts angefügt wurde, gebe die Zahl an.
echo $output.nl2br("\r\n"); //Output ausgeben mit einer neuen Zeile in HTML & in Source Code.
}
?>
Lösung von: Howard Dennis King (IT-Schule Stuttgart)
i = 1
while i <= 100:
if not i % 5 and not i % 7:
print(i, "fizzbuzz")
elif not i % 5:
print(i, "fizz")
elif not i % 7:
print(i, "buzz")
else:
print(i)
i += 1
Lösung von: Peter Pan (Home Office)
using System;
namespace FizzBuzz
{
class Program
{
static void Main()
{
// Variablendeklaration
string firstWord = "Fizz";
string secondWord = "Buzz";
int firstOccurance = 5;
int secondOccurance = 7;
int countTo = 100;
string output;
for (int runs = 1; runs <= countTo; runs++)
{
// FizzBuzzing
output = runs % firstOccurance == 0 ? firstWord : null;
output += runs % secondOccurance == 0 ? secondWord : null;
// Ausgabe von Fizz/Buzz oder der aktuellen Zahl
Console.WriteLine(string.IsNullOrEmpty(output) ? $"{runs}" : $"{output}");
}
}
}
}
Lösung von: Howard Dennis King (IT-Schule Stuttgart)
// NET Core 3.x
using System;
using System.Linq;
namespace CS_MDL_CORE_FizzBuzz
{
class Program
{
static void Main(string[] args)
{
Enumerable.Range(1, 100).Select(x => FizzBuzz(x)).ToList().ForEach(Console.WriteLine);
static string FizzBuzz(int n) => (n % 3, n % 5) switch { (0, 0) => "FizzBuzz", (0, _) => "Fizz", (_, 0) => "Buzz", (_, _) => n.ToString() };
}
}
}
Lösung von: Jens Kelm (@JKooP)
// NET Core 3.x
// Achtung: F#
let (|Fizz|Buzz|FizzBuzz|Number|) n = match (n % 3, n % 5) with | 0, 0 -> FizzBuzz | 0, _ -> Fizz | _, 0 -> Buzz | _, _ -> Number n
let fizzBuzz = function | Fizz -> "Fizz" | Buzz -> "Buzz" | FizzBuzz -> "FizzBuzz" | Number n -> n.ToString()
let main = for n in [1..100] do printfn "%s" (fizzBuzz(n))
Lösung von: Jens Kelm (@JKooP)
//folgt @emreewfs auf instagram :)
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i < 101; i++)
{
if (i % 5 == 0 && i % 7 == 0)
{
cout << i << "Buzzfizz" << endl;
}
else if (i % 5 == 0)
{
cout << i << "fizz" << endl;
}
else if (i % 7 == 0)
{
cout << i << "buzz" << endl;
}
else
{
cout << i << endl;
}
}
return 0;
}
Lösung von: Name nicht veröffentlicht
for (var i = 1; i <= 100; i++) (i % 5 == 0 && i % 7 == 0) ? console.log("fizzbuzz") : i % 5 == 0 ? console.log("fizz") : i % 7 == 0 ? console.log("buzz") : console.log(i)
Lösung von: Roman M. ()
#include <iostream>
using namespace std;
int main() {
string B = "buzz";
string F = "fizz";
for (int i = 1; i < 101; i++) {
//buzz
if (i % 5 == 0) {
if (i % 7 == 0){
cout << F << B << endl;
}
else {
cout << B << endl;
}
}
//fizz
else if (i % 7 == 0) {
if (i % 5 == 0){
cout << F << B << endl;
}
else {
cout << F << endl;
}
}
//zahl
else {
cout << i << endl;
}
}
getchar();
return 0;
}
Lösung von: Name nicht veröffentlicht
report fizzbuzz.
data: lv_output type string.
do 100 times.
clear: lv_output.
if ( sy-index mod 5 ) = 0.
lv_output = 'FIZZ'.
endif.
if ( sy-index mod 7 ) = 0.
lv_output = |{ lv_output }BUZZ|.
endif.
if lv_output is initial.
lv_output = sy-index.
endif.
write: / lv_output.
enddo.
Lösung von: Heiko K. ()
using System;
namespace fizzbuzz
{
class Program
{
static void Main()
{
for (int i = 1; i < 101; i++)
{
if (i % 5 == 0 && i % 7 == 0)
{
Console.WriteLine("fizzbuzz");
}
else if (i % 5 == 0)
{
Console.WriteLine("fizz");
}
else if (i % 7 == 0)
{
Console.WriteLine("buzz");
}
else
{
Console.WriteLine(i);
}
}
Console.ReadKey(); // endl
}
}
}
Lösung von: Name nicht veröffentlicht
// C++ 20 | VS-2022
#include <iostream>
#include <sstream>
int main() {
constexpr auto cases{ [](auto x) {
std::stringstream os;
if (x % 5 == 0) os << "fizz";
if (x % 7 == 0) os << "buzz";
if (os.str().empty()) os << x;
return os.str();
} };
for (size_t i{ 1 }; i < 101; ++i)
std::cout << cases(i) << "\n";
}
Lösung von: Jens Kelm (@JKooP)
// NET 7.x | C# 11.x | VS-2022
for (var i = 1; i < 101; i++) {
var str = "";
if (i % 5 == 0) str += "fizz";
if (i % 7 == 0) str += "buzz";
Console.WriteLine(str.Length == 0 ? i : str);
}
Lösung von: Jens Kelm (@JKooP)
Verifikation/Checksumme:
Bei der Zahl 35 erscheint zum ersten Mal der Text "fizzbuzz".
Aktionen
Neue Lösung hinzufügen
Bewertung
Durchschnittliche Bewertung:
Meta
Zeit: | 0.5 |
Schwierigkeit: | k.A. |
Webcode: | pf6d-wqtr |
Autor: | Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch) |
Kommentare (2)