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

fizzbuzz

Name: übermench 2011-12-26 15:04

just wanted to post my awesome fizzbuzz implementation
#include <stdio.h>
#include <stdlib.h>

void main(int j) {
  printf(((char*[]){"%d\n","fizz\n","buzz\n","fizzbuzz\n"})[!(j%3)+!(j%5)*2], j);
  (&main + (&exit - &main)*(j/100))((j+1)*(1-j/100) );
}

Name: Anonymous 2011-12-27 11:52

>>25
Here, an IDIOMATIC AND EXTENSIBLE version for you.

(defun divisible-by-p (num div)
  (zerop (mod num div)))

(defun fizzablep (num) (divisible-by-p num 3))
(defun buzzablep (num) (divisible-by-p num 5))

(defun fizz-buzz ()
  (loop for x from 1 to 100 do
       (when (fizzablep x)
         (princ "Fizz"))
       (if (buzzablep x)
           (princ "Buzz")
           (when (not (fizzablep x))
             (princ x)))
       (terpri)))

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