stackprobe7s_memo

何処にも披露する見込みの無いものを書き落とす場所

FizzBuzzいろいろ

t0001.c

#include <stdio.h>

int main()
{
	int n;

	for(n = 1; n <= 100; n++)
	{
		if(n % 15 == 0)
			printf("FizzBuzz\n");
		else if(n % 3 == 0)
			printf("Fizz\n");
		else if(n % 5 == 0)
			printf("Buzz\n");
		else
			printf("%d\n", n);
	}
}

t0002.c

#include <stdio.h>

int main()
{
	int n;

	for(n = 1; n <= 100; n++)
	{
		int f = 1;

		if(n % 3 == 0)
		{
			printf("Fizz");
			f = 0;
		}
		if(n % 5 == 0)
		{
			printf("Buzz");
			f = 0;
		}
		if(f)
			printf("%d", n);

		printf("\n");
	}
}

t0003.c

#include <stdio.h>

#define FIZZU 3
#define BUZZU 5

int main()
{
	int n;

	for(n = 1; n <= 100; n++)
	{
		if(n % FIZZU == 0)
		{
			if(n % BUZZU == 0)
				printf("FizzBuzz\n");
			else
				printf("Fizz\n");
		}
		else if(n % BUZZU == 0)
			printf("Buzz\n");
		else
			printf("%d\n", n);
	}
}

t0004.c

#include <stdio.h>

int main()
{
	char *fmts[] =
	{
		"%d\n",
		"Fizz\n",
		"Buzz\n",
		"FizzBuzz\n"
	};
	int n;

	for(n = 1; n <= 100; n++)
	{
		printf(fmts["300102100120100"[n % 15] - '0'], n);
	}
}

t0005.c

#include <stdio.h>

int main()
{
	int n;

	for(n = 1; n <= 100; n++)
	{
		printf("%d\n\0Fizz\n\0______FizzBuzz\n" + (n % 3 + 1 >> 1 ^ 1 ^ ((n % 5 + 3 >> 2 ^ 1) * 5)) * 4, n);
	}
}

t1001.cs

Enumerable.Range(1, 100)
	.Select(v => new { n = v, s = "" })
	.Select(v => v.n % 3 == 0 ? new { n = v.n, s = v.s + "FIZZ" } : v)
	.Select(v => v.n % 5 == 0 ? new { n = v.n, s = v.s + "BUZZ" } : v)
	.Select(v => v.s == "" ? "" + v.n : v.s)
	.ToList()
	.ForEach(v => Console.WriteLine(v));