这几天在逛群里老大李沐(沐神)的博文专栏时,除了感叹沐神神一样的经历外,更是对沐神博文带出的一些问题感慨良多,网络搜了一把,面对问题的差人的思维能力权做自省!!!
FizzBuzz设这样的一个游戏:
引子:
https://www.cnblogs.com/webary/p/6507413.html
沐神专栏:
https://zhuanlan.zhihu.com/p/29100405
加法求模:
http://blog.csdn.net/ixidof/article/details/7697173
结合两种方法的FizzBuzz问题:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
void printFizzBuzz1(int num = 100)
{
for (int i = 1; i <= num; ++i)
{
if (i % 3 == 0){
printf("%d: Fizz", i);
if (i % 5 == 0){
printf("Buzz\n", i);
}
else
{
printf("\n");
}
}
else if (i % 5 == 0){
printf("%d: Buzz\n", i);
}
else
{
printf("%d: neither Fizz nor Buzz\n", i);
}
}
}
void printFizzBuzz2(int num = 100)//特点,将求模运算变为加法运算
{
int i;
int Step3 = 1, Step5 = 1;/*步长计数*/
int FizzStat = 0, BuzzStat = 0, FizzBuzzStat = 0;
for (i = 1; i <= 100; i++)
{
if ((3 == Step3) && (5 == Step5))
{
printf("%d: FizzBuzz\n", i);
Step3 = 1;
Step5 = 1;
FizzStat++;
BuzzStat++;
FizzBuzzStat++;
}
else if (3 == Step3)
{
printf("%d: Fizz\n", i);
Step3 = 1;
Step5++;
FizzStat++;
}
else if (5 == Step5)
{
printf("%d: Buzz\n", i);
Step3++;
Step5 = 1;
BuzzStat++;
}
else
{
printf("%d: not Fizz Buzz\n", i);
Step3++;
Step5++;
}
}
printf("total Fizz = %d, total Buzz = %d, total FizzBuzz = %d\n", FizzStat, BuzzStat, FizzBuzzStat);
}
int main(int argc, char* argv[])
{
printf("------大众方法------:\n");
printFizzBuzz1(100);
printf("------创新方法------:\n");
printFizzBuzz2(100);
return 0;
}