- 1. 题目
- 2. 解题思路
- 3. 代码实现(AC_Code)
个人主页:C_GUIQU
归属专栏:每日一题
1. 题目
Fizz Buzz 经典问题
2. 解题思路
【法1】逻辑硬解:按照题目逻辑分四种情况,用if else 判断即可。
【法2】switch语句无脑判断:跳出思维逻辑,多引入一个变量,懒人做法。
【法3】if条件表达式判断:这里需要注意的是逻辑与运算符(&&)的运用,只有都为真,整个表达式的值才为真,这里可以不单独判断同时被3和5整除的情况。
【法4】条件运算符(三元运算符):需要一些额外操作,且用到三元条件运算符,此方法相对来说最简单,代码量最少。
3. 代码实现(AC_Code)
- C++
法1
#include <iostream>
using namespace std;
int main()
{
int N;
cin >> N;
if(N % 3 == 0)
{
if(N % 5 == 0)
cout << "FizzBuzz" << endl;
else
cout << "Fizz" << endl;
}
else if(N % 5 == 0)
cout << "Buzz" << endl;
else
cout << N << endl;
return 0;
}
法2
#include <iostream>
using namespace std;
int main()
{
int N,a = 0;
cin >> N;
if(N % 3 == 0)
a = 1;
if(N % 5 == 0)
a = 2;
if(N % 3 == 0 && N % 5 == 0)
a = 3;
switch(a)
{
case 0:
cout << N << endl;
break;
case 1:
cout << "Fizz" << endl;
break;
case 2:
cout << "Buzz" << endl;
break;
case 3:
cout << "FizzBuzz" << endl;
break;
}
return 0;
}
法3
#include <iostream>
using namespace std;
int main()
{
int N;
cin >> N;
if(!(N % 3))
cout << "Fizz";
if(!(N % 5))
cout << "Buzz";
if(N % 3 && N % 5)
cout << N << endl;
return 0;
}
- Java
法4
import java.io.BufferedInputStream; // 位于java.io包中,这个类用于提供对输入流的缓冲功能
import java.util.Scanner;
public class Main {
static Scanner sc = new Scanner(new BufferedInputStream(System.in, 128));
public static void main(String[] args) {
int n = sc.nextInt();
System.out.print(n % 3 == 0 && n % 5 == 0 ? "FizzBuzz" : n % 5 == 0 ? "Buzz" : n % 3 == 0 ? "Fizz" : n);
}
}
最后,感谢您的阅读,期待您的一键三连!