Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

FizzBuzz

Name: VIPPER 2011-05-15 3:49

Write a program that prints the integers 1 - 100, but for every multiple of 3, print "Fizz" instead of the number, for every multiple of 5 print "Buzz", and for every multiple of both 3 and 5, print "FizzBuzz".


#include <stdio.h>
#include <stdlib.h>

int main(void)
{
        for (int i = 1; i <= 100; i++) {
                if (i % 3 == 0 && i % 5 == 0)
                        puts("FizzBuzz");
                else if (i % 3 == 0)
                        puts("Fizz");
                else if (i % 5 == 0)
                        puts("Buzz");
                else
                        printf("%d\n", i);
        }
        return EXIT_SUCCESS;
}

Name: Anonymous 2011-05-15 4:02

go to hell

Name: Anonymous 2011-05-15 4:54

...Why?

Name: Anonymous 2011-05-15 5:02

>>3
Because it is such a simple problem, it easily lends itself to various clever and concise solutions.  For example, solving it with very few lines of code or using more esoteric language features.

for (int i=1; i<101; i++)
                printf("%d %s %s\n", i, i%3 ? "" : "fizz", i%5 ? "" : "buzz");


It's also a classic interview question:
http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html

Name: Anonymous 2011-05-15 6:13

main(i){for(;i<101;puts(i++%5?"":"Buzz"))printf(i%3?i%5?"%d":"":"Fizz",i);}

Name: Anonymous 2011-05-15 6:25

#include <iostream>

template<int MOD3, int MOD5>
struct printer
{
    static void print_number(int number)
    {
        std::cout << number << std::endl;
    }
};

template<int MOD5>
struct printer<0, MOD5>
{
    static void print_number(int number)
    {
        std::cout << "Fizz" << std::endl;
    }
};

template<int MOD3>
struct printer<MOD3, 0>
{
    static void print_number(int number)
    {
        std::cout << "Buzz" << std::endl;
    }
};

template<>
struct printer<0, 0>
{
    static void print_number(int number)
    {
        std::cout << "FizzBuzz" << std::endl;
    }
};

template<int I>
void iterate_numbers()
{
    printer<I % 3, I % 5>::print_number(I);
    iterate_numbers<I+1>();
}

template<>
void iterate_numbers<100>()
{
    printer<100 % 3, 100 % 5>::print_number(100);
}

int main()
{
    iterate_numbers<1>();
    std::cin.get();
}

Name: Anonymous 2011-05-15 6:38

>>4
Wow... I'm not sure how to take this.

Job prospects will be good when I graduate, I suppose.

Name: Anonymous 2011-05-15 8:11

>>4
A correct solution beats a clever but incorrect solution every day. Enjoy your unemployment.

Name: Anonymous 2011-05-15 8:16

I've never seen this solution before:


#include <stdio.h>

void fizzbuzz( int x ) {
        switch( x % 15 ) {
                case 0: case 3: case 6: case 9: case 12:
                printf("Fizz");
                if( !(x % 5) ) {
                case 5: case 10:
                        printf("Buzz");
                }
                printf("\n");
                break;
                default:
                printf("%d\n", x);
        }
 
        return;
}

int main(void) {
        int i;
        for(i=0;i<100;++i)
                fizzbuzz( i );

        return 0;
}

Name: Anonymous 2011-05-15 8:22

>>9
That's because the whitespacing looks like ass and one of the two conditional lines for buzzing is redundant.

Name: Anonymous 2011-05-15 8:25

Here's a recursive solution.


#include <stdio.h>

void fizzbuzz (int k)
{
    if (k < 101)
    {
        if (k % 3 == 0 && k % 5 == 0) {puts ("FizzBuzz"); goto next;}
        if (k % 3 == 0) {puts ("Fizz"); goto next;}
        if (k % 5 == 0) {puts ("Buzz"); goto next;}
        printf ("%d\n", k);
next:
        fizzbuzz (k+1);
    }
}

int main (void)
{
    fizzbuzz (1);
    return 0;
}

Name: >>9 2011-05-15 8:29

Also this:

void fizzbuzz( int x ) {
        int n = 0;
        char *fizzbuff[] = { "%d\n", "Fizz\n", "Buzz\n", "FizzBuzz\n" };

        if( !(x%3) ) n++;
        if( !(x%5) ) n+=2;

        printf(fizzbuff[n], x);

        return;
}

Name: Anonymous 2011-05-15 8:32

>>10
idgaf about your whitespacing hangups, but please feel free to rewrite it without the redundant conditional.

Name: Anonymous 2011-05-15 8:35

>>13
Oh look at me and my awesome disregard for making code look nice, I'm such a cool guy

Name: Anonymous 2011-05-15 8:41

>>14
suck my dick, fag

Name: Anonymous 2011-05-15 9:11

>>15
LOL U MAD EPIC ROFL?

Name: Anonymous 2011-05-15 11:11

Is this the right way to do it?
#include <stdio.h>

int main(void)
{
  int i;
  for (i=1; i<=100; i++)
  {
    if (i==1)
    {
      printf("1\n");
    }
    if (i==2)
    {
      printf("2\n");
    }
    if (i==3)
    {
      printf("Fizz\n");
    }
    if (i==4)
    {
      printf("4\n");
    }
    if (i==5)
    {
      printf("Buzz\n");
    }
    if (i==6)
    {
      printf("Fizz\n");
    }
    if (i==7)
    {
      printf("7\n");
    }
    if (i==8)
    {
      printf("8\n");
    }
    if (i==9)
    {
      printf("Fizz\n");
    }
    if (i==10)
    {
      printf("Buzz\n");
    }
    if (i==11)
    {
      printf("11\n");
    }
    if (i==12)
    {
      printf("Fizz\n");
    }
    if (i==13)
    {
      printf("13\n");
    }
    if (i==14)
    {
      printf("14\n");
    }
    if (i==15)
    {
      printf("FizzBuzz\n");
    }
    if (i==16)
    {
      printf("16\n");
    }
    if (i==17)
    {
      printf("17\n");
    }
    if (i==18)
    {
      printf("Fizz\n");
    }
    if (i==19)
    {
      printf("19\n");
    }
    if (i==20)
    {
      printf("Buzz\n");
    }
    if (i==21)
    {
      printf("Fizz\n");
    }
    if (i==22)
    {
      printf("22\n");
    }
    if (i==23)
    {
      printf("23\n");
    }
    if (i==24)
    {
      printf("Fizz\n");
    }
    if (i==25)
    {
      printf("Buzz\n");
    }
    if (i==26)
    {
      printf("26\n");
    }
    if (i==27)
    {
      printf("Fizz\n");
    }
    if (i==28)
    {
      printf("28\n");
    }
    if (i==29)
    {
      printf("29\n");
    }
    if (i==30)
    {
      printf("FizzBuzz\n");
    }
    if (i==31)
    {
      printf("31\n");
    }
    if (i==32)
    {
      printf("32\n");
    }
    if (i==33)
    {
      printf("Fizz\n");
    }
    if (i==34)
    {
      printf("34\n");
    }
    if (i==35)
    {
      printf("Buzz\n");
    }
    if (i==36)
    {
      printf("Fizz\n");
    }
    if (i==37)
    {
      printf("37\n");
    }
    if (i==38)
    {
      printf("38\n");
    }
    if (i==39)
    {
      printf("Fizz\n");
    }
    if (i==40)
    {
      printf("Buzz\n");
    }
    if (i==41)
    {
      printf("41\n");
    }
    if (i==42)
    {
      printf("Fizz\n");
    }
    if (i==43)
    {
      printf("43\n");
    }
    if (i==44)
    {
      printf("44\n");
    }
    if (i==45)
    {
      printf("FizzBuzz\n");
    }
    if (i==46)
    {
      printf("46\n");
    }
    if (i==47)
    {
      printf("47\n");
    }
    if (i==48)
    {
      printf("Fizz\n");
    }
    if (i==49)
    {
      printf("49\n");
    }
    if (i==50)
    {
      printf("Buzz\n");
    }
    if (i==51)
    {
      printf("Fizz\n");
    }
    if (i==52)
    {
      printf("52\n");
    }
    if (i==53)
    {
      printf("53\n");
    }
    if (i==54)
    {
      printf("Fizz\n");
    }
    if (i==55)
    {
      printf("Buzz\n");
    }
    if (i==56)
    {
      printf("56\n");
    }
    if (i==57)
    {
      printf("Fizz\n");
    }
    if (i==58)
    {
      printf("58\n");
    }
    if (i==59)
    {
      printf("59\n");
    }
    if (i==60)
    {
      printf("FizzBuzz\n");
    }
    if (i==61)
    {
      printf("61\n");
    }
    if (i==62)
    {
      printf("62\n");
    }
    if (i==63)
    {
      printf("Fizz\n");
    }
    if (i==64)
    {
      printf("64\n");
    }
    if (i==65)
    {
      printf("Buzz\n");
    }
    if (i==66)
    {
      printf("Fizz\n");
    }
    if (i==67)
    {
      printf("67\n");
    }
    if (i==68)
    {
      printf("68\n");
    }
    if (i==69)
    {
      printf("Fizz\n");
    }
    if (i==70)
    {
      printf("Buzz\n");
    }
    if (i==71)
    {
      printf("71\n");
    }
    if (i==72)
    {
      printf("Fizz\n");
    }
    if (i==73)
    {
      printf("73\n");
    }
    if (i==74)
    {
      printf("74\n");
    }
    if (i==75)
    {
      printf("FizzBuzz\n");
    }
    if (i==76)
    {
      printf("76\n");
    }
    if (i==77)
    {
      printf("77\n");
    }
    if (i==78)
    {
      printf("Fizz\n");
    }
    if (i==79)
    {
      printf("79\n");
    }
    if (i==80)
    {
      printf("Buzz\n");
    }
    if (i==81)
    {
      printf("Fizz\n");
    }
    if (i==82)
    {
      printf("82\n");
    }
    if (i==83)
    {
      printf("83\n");
    }
    if (i==84)
    {
      printf("Fizz\n");
    }
    if (i==85)
    {
      printf("Buzz\n");
    }
    if (i==86)
    {
      printf("86\n");
    }
    if (i==87)
    {
      printf("Fizz\n");
    }
    if (i==88)
    {
      printf("88\n");
    }
    if (i==89)
    {
      printf("89\n");
    }
    if (i==90)
    {
      printf("FizzBuzz\n");
    }
    if (i==91)
    {
      printf("91\n");
    }
    if (i==92)
    {
      printf("92\n");
    }
    if (i==93)
    {
      printf("Fizz\n");
    }
    if (i==94)
    {
      printf("94\n");
    }
    if (i==95)
    {
      printf("Buzz\n");
    }
    if (i==96)
    {
      printf("Fizz\n");
    }
    if (i==97)
    {
      printf("97\n");
    }
    if (i==98)
    {
      printf("98\n");
    }
    if (i==99)
    {
      printf("Fizz\n");
    }
    if (i==100)
    {
      printf("Buzz\n");
    }
  }

  return 0;
}

Name: Anonymous 2011-05-15 12:07

for (i=1;i<101;i++)
{
if (i%3==0&&i%5==0)
    {
    document.write('fizzbuzz\n')
    }
else if (i%3==0)
{
document.write('fizz')
}

else if (i%5==0)
{
alert('buzz')
}

Name: Anonymous 2011-05-15 12:49

public class FizzBuzz {
   public static void main(String[] args) {
      int i = 1;
      for(; i <= 100; ++i) {
         String str = String.format("%s%s", i%3 == 0? "Fizz": "", i%5==0? "Buzz": "");
         System.out.printf("%s%n", str.length() > 0? str: (""+i));
      }
   }
}

When I saw this thread I thought I would do a variant of >>12 this time.  But, >>12 beat me to the punch.

Name: Anonymous 2011-05-15 12:52

perl -e '$,="\n"; print map {(($_%3?"":"Fizz").($_%5?"":"Buzz"))||$_} 1..1e2'

Name: Anonymous 2011-05-15 17:08

>>20
"$,"? Seriously, Perl? I gotta admit it's useful.

Name: Anonymous 2011-05-15 21:14

>>20
ENTERPRISE ENCRYPTED CODE

Name: Java Suit 2011-05-15 21:41

JAVA

Name: Anonymous 2011-05-15 23:12

>>14
see >>13

It's not redundant.

Don't change these.
Name: Email:
Entire Thread Thread List