paizaラーニングレベルアップ問題集の「Fizz Buzz」を色々な言語でやってみた

paiza×Qiita記事投稿キャンペーンということで、paizaラーニングレベルアップ問題集の[Fizz Buzz](https://paiza.jp/works/mondai/c_rank_skillcheck_sample/fizz-buzz)を色々な言語でやってみました。対象は[コードモンスター大図鑑](https://paiza.jp/code_monster)で対応している9言語です。

2024/08/25
Javascriptのコードを修正いたしました。
- - -
###### 方針
問題文の
> - 3の倍数かつ5の倍数のときには、"Fizz Buzz"
> - 3の倍数のときには、"Fizz"
> - 5の倍数のときには、"Buzz"

を関数にします。
- - -
###### PHP
```php
<?php
	function fizzbuzz($i) {
		if ($i % 3 == 0 && $i % 5 == 0) { // 3の倍数かつ5の倍数のときには、"Fizz Buzz"
			return "Fizz Buzz";
		} else if ($i % 3 == 0) { // 3の倍数のときには、"Fizz"
			return "Fizz";
		} else if ($i % 5 == 0) { // 5の倍数のときには、"Buzz"
			return "Buzz";
		} else {
			return $i;
		}
	}

	$n = fgets(STDIN);
	for ($i = 1; $i <= $n; $i++) {
		echo fizzbuzz($i)."\n";
	}
?>
```
- - -
###### Ruby
```rb
def fizzbuzz(i)
	if i % 3 == 0 && i % 5 == 0 # 3の倍数かつ5の倍数のときには、"Fizz Buzz"
		return "Fizz Buzz"
	elsif i % 3 == 0 # 3の倍数のときには、"Fizz"
		return "Fizz"
	elsif i % 5 == 0 # 5の倍数のときには、"Buzz"
		return "Buzz"
	else
		return i
	end
end


n = gets.to_i
for i in 1..n do
	puts fizzbuzz(i)
end
```
- - -
###### Java	
```java
import java.util.*;

public class Main {
	static String fizzbuzz(int i) {
		if (i % 3 == 0 && i % 5 == 0) { // 3の倍数かつ5の倍数のときには、"Fizz Buzz"
			return "Fizz Buzz";
		} else if (i % 3 == 0) { // 3の倍数のときには、"Fizz"
			return "Fizz";
		} else if (i % 5 == 0) { // 5の倍数のときには、"Buzz"
			return "Buzz";
		} else {
			return String.valueOf(i);
		}
	}

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		sc.close();
		for (int i = 1; i <= n; i++) {
			System.out.println(fizzbuzz(i));
		}
	}
}
```
- - -
###### Python
```py
def fizzbuzz(i):
	if i % 3 == 0 and i % 5 == 0: # 3の倍数かつ5の倍数のときには、"Fizz Buzz"
		return "Fizz Buzz"
	elif i % 3 == 0: # 3の倍数のときには、"Fizz"
		return "Fizz"
	elif i % 5 == 0: # 5の倍数のときには、"Buzz"
		return "Buzz"
	else:
		return i


n = int(input())
for i in range(1, n + 1):
	print(fizzbuzz(i))
```
- - -
###### C言語
```c
#include <stdio.h>
#include <string.h>

char* fizzbuzz(char* s, int i) {
	if (i % 3 == 0 && i % 5 == 0) { // 3の倍数かつ5の倍数のときには、"Fizz Buzz"
		strcpy(s, "Fizz Buzz");
	} else if (i % 3 == 0) { // 3の倍数のときには、"Fizz"
		strcpy(s, "Fizz");
	} else if (i % 5 == 0) { // 5の倍数のときには、"Buzz"
		strcpy(s, "Buzz");
	} else {
		sprintf(s, "%d", i);
	}
	return s;
}

int main(void) {
	int n;
	scanf("%d", &n);
	for (int i = 1; i <= n; i++) {
		char s[10];
		puts(fizzbuzz(s, i));
	}
	return 0;
}
```
- - -
###### C#
```cs
using System;

class Program
{
	static String FizzBuzz(int i) {
		if (i % 3 == 0 && i % 5 == 0) { // 3の倍数かつ5の倍数のときには、"Fizz Buzz"
			return "Fizz Buzz";
		} else if (i % 3 == 0) { // 3の倍数のときには、"Fizz"
			return "Fizz";
		} else if (i % 5 == 0) { // 5の倍数のときには、"Buzz"
			return "Buzz";
		} else {
			return i.ToString();
		}
	}

	static void Main() {
		int n = int.Parse(Console.ReadLine());
		for (int i = 1; i <= n; i++) {
			Console.WriteLine(FizzBuzz(i));
		}
	}
}
```
- - -
###### Javascript
```js
function fizzbuzz(i) {
	if (i % 3 === 0 && i % 5 === 0) { // 3の倍数かつ5の倍数のときには、"Fizz Buzz"
		return "Fizz Buzz";
	} else if (i % 3 === 0) { // 3の倍数のときには、"Fizz"
		return "Fizz";
	} else if (i % 5 === 0) { // 5の倍数のときには、"Buzz"
		return "Buzz";
	} else {
		return i;
	}
}

const lines = require("fs").readFileSync("/dev/stdin", "utf8").split("\n");
// 2024-08-25 parseIntからNumberに修正
// const n = parseInt(lines[0], 10);
const n = Number(lines[0]);
for (var i = 1; i <= n; i++) {
	console.log(fizzbuzz(i));
}
```
- - -
###### C++
```cpp
#include <iostream>
using namespace std;

string fizzbuzz(int i) {
	if (i % 3 == 0 && i % 5 == 0) { // 3の倍数かつ5の倍数のときには、"Fizz Buzz"
		return "Fizz Buzz";
	} else if (i % 3 == 0) { // 3の倍数のときには、"Fizz"
		return "Fizz";
	} else if (i % 5 == 0) { // 5の倍数のときには、"Buzz"
		return "Buzz";
	} else {
		return to_string(i);
	}
}

int main(void) {
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cout << fizzbuzz(i) << endl;
	}
	return 0;
}
```
- - -
###### Kotlin
```kotlin
import java.util.*;

fun fizzbuzz(i: Int): String {
	if (i % 3 == 0 && i % 5 == 0) { // 3の倍数かつ5の倍数のときには、"Fizz Buzz"
		return "Fizz Buzz"
	} else if (i % 3 == 0) { // 3の倍数のときには、"Fizz"
		return "Fizz"
	} else if (i % 5 == 0) { // 5の倍数のときには、"Buzz"
		return "Buzz"
	} else {
		return i.toString();
	}
}

fun main() {
	val sc = Scanner(System.`in`);
	val n = sc.nextInt();
	sc.close();
	for (i in 1..n) {
		println(fizzbuzz(i));
	}
}
```