Fizz Buzz问题是一个非常基本的问题,需要解决的问题被一些人用来清除不知道如何编程的受访者。问题是:
Set N = [0,100]
Set F = x in N where x % 3 == 0
Set B = x in N where x % 5 == 0
Set FB = F intersect B
For all N:
if x in F: print fizz
if x in B: print buzz
if x in FB: print fizzbuzz
if x not in F|B|FB print x
对此Fizz Buzz问题进行修改的目的是使用C ++模板执行上述算法,以使尽可能少的运行时操作成为可能。
如果需要,可以将N减小到较小的范围,以便在必要时适合TMP对象。
预计这不是“高尔夫”。
11
您应该说“模板元编程”而不是TMP,因为大多数非C ++人都不知道TMP是什么。
—
克里斯·杰斯特·杨
“淘汰不知道如何编程的受访者”我不知道普通程序员需要了解模板元编程。
—
亚历山德鲁
您如何定义运行时操作?汇编指令?如果是这样,最好指定一个编译器和平台,这样就不会产生歧义。
—
sepp2k 2011年
@Alexandru:他说,fizzbuzz问题用于“清除...”,而不是使用Template Metaprogramming解决fizzbuzz问题。
—
sepp2k 2011年
可能重复1,2,Fizz,4,Buzz
—
pppery