当前位置:实例文章 » 其他实例» [文章]Fizz Buzz,给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果。

Fizz Buzz,给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果。

发布人:shili8 发布时间:2025-03-15 18:20 阅读次数:0

**Fizz Buzz**
================**概述**
--------

Fizz Buzz 是一个经典的编程挑战,要求开发者在给定范围内输出特定的数字序列。这个问题旨在测试程序员对循环、条件判断和字符串操作的理解。

**问题描述**
-------------

给定一个整数 `n`,从1 到 `n` 输出以下内容:

* 如果数字是3 的倍数,则输出 "Fizz"。
* 如果数字是5 的倍数,则输出 "Buzz"。
* 如果数字既是3 的倍数,又是5 的倍数,则输出 "FizzBuzz"。
* 否则,输出该数字本身。

**解决方案**
------------### **Python 实现**

def fizz_buzz(n):
 """
 Fizz Buzz 表示,从1 到 n 输出特定序列。

 Args:
 n (int): 序列的结束值。

 Returns:
 list: 从1 到 n 的 Fizz Buzz 表示。
 """
 answer = []
 for i in range(1, n +1):
 # 如果数字是3 的倍数,则输出 "Fizz"
 if i %3 ==0:
 answer.append("Fizz")
 # 如果数字是5 的倍数,则输出 "Buzz"
 elif i %5 ==0:
 answer.append("Buzz")
 # 如果数字既是3 的倍数,又是5 的倍数,则输出 "FizzBuzz"
 elif i %15 ==0:
 answer.append("FizzBuzz")
 # 否则,输出该数字本身 else:
 answer.append(str(i))
 return answer# 示例使用n =20result = fizz_buzz(n)
print(result)


### **Java 实现**

javapublic class FizzBuzz {
 /**
 * Fizz Buzz 表示,从1 到 n 输出特定序列。
 *
 * @param n 序列的结束值。
 * @return 从1 到 n 的 Fizz Buzz 表示。
 */
 public static String[] fizz_buzz(int n) {
 String[] answer = new String[n];
 for (int i =1; i <= n; i++) {
 // 如果数字是3 的倍数,则输出 "Fizz"
 if (i %3 ==0) {
 answer[i -1] = "Fizz";
 }
 // 如果数字是5 的倍数,则输出 "Buzz"
 else if (i %5 ==0) {
 answer[i -1] = "Buzz";
 }
 // 如果数字既是3 的倍数,又是5 的倍数,则输出 "FizzBuzz"
 else if (i %15 ==0) {
 answer[i -1] = "FizzBuzz";
 }
 // 否则,输出该数字本身 else {
 answer[i -1] = String.valueOf(i);
 }
 }
 return answer;
 }

 public static void main(String[] args) {
 int n =20;
 String[] result = fizz_buzz(n);
 for (String str : result) {
 System.out.println(str);
 }
 }
}


### **C++ 实现**

cpp#include <iostream>
using namespace std;

/**
 * Fizz Buzz 表示,从1 到 n 输出特定序列。
 *
 * @param n 序列的结束值。
 */
void fizz_buzz(int n) {
 for (int i =1; i <= n; i++) {
 // 如果数字是3 的倍数,则输出 "Fizz"
 if (i %3 ==0) {
 cout << "Fizz";
 }
 // 如果数字是5 的倍数,则输出 "Buzz"
 else if (i %5 ==0) {
 cout << "Buzz";
 }
 // 如果数字既是3 的倍数,又是5 的倍数,则输出 "FizzBuzz"
 else if (i %15 ==0) {
 cout << "FizzBuzz";
 }
 // 否则,输出该数字本身 else {
 cout << i;
 }
 }
}

int main() {
 int n =20;
 fizz_buzz(n);
 return0;
}


### **JavaScript 实现**

javascript/**
 * Fizz Buzz 表示,从1 到 n 输出特定序列。
 *
 * @param {number} n 序列的结束值。
 */
function fizz_buzz(n) {
 let answer = [];
 for (let i =1; i <= n; i++) {
 // 如果数字是3 的倍数,则输出 "Fizz"
 if (i %3 ==0) {
 answer.push("Fizz");
 }
 // 如果数字是5 的倍数,则输出 "Buzz"
 else if (i %5 ==0) {
 answer.push("Buzz");
 }
 // 如果数字既是3 的倍数,又是5 的倍数,则输出 "FizzBuzz"
 else if (i %15 ==0) {
 answer.push("FizzBuzz");
 }
 // 否则,输出该数字本身 else {
 answer.push(i);
 }
 }
 return answer;
}

// 示例使用let n =20;
let result = fizz_buzz(n);
console.log(result);


### **Go 实现**

gopackage mainimport "fmt"

/**
 * Fizz Buzz 表示,从1 到 n 输出特定序列。
 *
 * @param {int} n 序列的结束值。
 */
func fizz_buzz(n int) []string {
 answer := make([]string, n)
 for i := range answer {
 // 如果数字是3 的倍数,则输出 "Fizz"
 if i+1%3 ==0 {
 answer[i] = "Fizz"
 }
 // 如果数字是5 的倍数,则输出 "Buzz"
 else if (i +1)%5 ==0 {
 answer[i] = "Buzz"
 }
 // 如果数字既是3 的倍数,又是5 的倍数,则输出 "FizzBuzz"
 else if (i+1)%15 ==0 {
 answer[i] = "FizzBuzz"
 }
 // 否则,输出该数字本身 else {
 answer[i] = fmt.Sprintf("%d", i+1)
 }
 }
 return answer}

func main() {
 n :=20 result := fizz_buzz(n)
 for _, str := range result {
 fmt.Println(str)
 }
}


### **Rust 实现**

rustfn fizz_buzz(n: i32) -> Vec {
 let mut answer = vec![];
 for i in1..=n {
 // 如果数字是3 的倍数,则输出 "Fizz"
 if i %3 ==0 {
 answer.push("Fizz".to_string());
 }
 // 如果数字是5 的倍数,则输出 "Buzz"
 else if i %5 ==0 {
 answer.push("Buzz".to_string());
 }
 // 如果数字既是3 的倍数,又是5 的倍数,则输出 "FizzBuzz"
 else if i %15 ==0 {
 answer.push("FizzBuzz".to_string());
 }
 // 否则,输出该数字本身 else {
 answer.push(i.to_string());
 }
 }
 return answer;
}

fn main() {
 let n =20;
 let result = fizz_buzz(n);
 for str in &result {
 println!("{}", str);
 }
}


### **Swift 实现**

swift/**
 * Fizz Buzz 表示,从1 到 n 输出特定序列。
 *
 * @param {int} n 序列的结束值。
 */
func fizz_buzz(n: Int) -> [String] {
 var answer = [String]()
 for i in1...n {
 // 如果数字是3 的倍数,则输出 "Fizz"
 if i %3 ==0 {
 answer.append("Fizz")
 }
 // 如果数字是5 的倍数,则输出 "Buzz"
 else if i %5 ==0 {
 answer.append("Buzz")
 }
 // 如果数字既是3 的倍数,又是5 的倍数,则输出 "FizzBuzz"
 else if i %15 ==0 {
 answer.append("FizzBuzz")
 }
 // 否则,输出该数字本身 else {
 answer.append(String(i))
 }
 }
 return answer}

// 示例使用let n =20let result = fizz_buzz(n)
for str in result {
 print(str)
}


### **PHP 实现**

php/**
 * Fizz Buzz 表示,从1 到 n 输出特定序列。
 *
 * @param {int} $n 序列的结束值。
 */
function fizz_buzz($n) {
 $answer = [];

相关标签:算法
其他信息

其他资源

Top