Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

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

Bitte melde dich an um einen Kommentar abzugeben

Kommentare (2)

gressly 15. April 2019 19:09   reply report
Die C-Lösung von Elias Zech habe ich abgeändert, sodass sie nun funktioniert.
gressly 15. April 2019 19:05   reply report
Die c-Lösung von Elias Zech (Optics Balzers) hat noch einen Fehler. So wird die 5 gar nicht ausgegeben.

25 Lösung(en)

# 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: Linus Götz (Lichtenberg-Gymnasium Cuxhaven)

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)

Verifikation/Checksumme:

Bei der Zahl 35 erscheint zum ersten Mal der Text "fizzbuzz".

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 0.5
Schwierigkeit: k.A.
Webcode: pf6d-wqtr
Autor: Philipp Gressly Freimann (SANTIS Training AG)

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen