#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LIMIT 100ul
typedef struct {
int k;
char *w;
} pair_t;
int main(void)
{
pair_t dictionary[] = {
{.k = 2, .w = "Fuzz"},
{.k = 3, .w = "Fizz"},
{.k = 5, .w = "Buzz"},
{.k = 7, .w = "Bizz"}
};
for (size_t n=1; n <= LIMIT; ++n)
{
char *output = NULL;
for (size_t e=0; e < sizeof dictionary / sizeof (pair_t); ++e)
if (n % dictionary[e].k == 0)
{
sprintf(output
, "%s%s", output
== NULL
? "" : output
, dictionary
[e
].
w); }
if (output == NULL)
else
}
}
I2luY2x1ZGUgPHN0ZGRlZi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CgojZGVmaW5lIExJTUlUICAgMTAwdWwKCnR5cGVkZWYgc3RydWN0IHsKICAgIGludCAgICAgazsKICAgIGNoYXIgICAgKnc7Cn0gcGFpcl90OwoKaW50IG1haW4odm9pZCkKewogICAgcGFpcl90IGRpY3Rpb25hcnlbXSA9IHsKICAgICAgICB7LmsgPSAyLCAudyA9ICJGdXp6In0sCiAgICAgICAgey5rID0gMywgLncgPSAiRml6eiJ9LAogICAgICAgIHsuayA9IDUsIC53ID0gIkJ1enoifSwKICAgICAgICB7LmsgPSA3LCAudyA9ICJCaXp6In0KICAgIH07CiAgICAKICAgIGZvciAoc2l6ZV90IG49MTsgbiA8PSBMSU1JVDsgKytuKQogICAgewogICAgICAgIGNoYXIgKm91dHB1dCA9IE5VTEw7CgogICAgICAgIGZvciAoc2l6ZV90IGU9MDsgZSA8IHNpemVvZiBkaWN0aW9uYXJ5IC8gc2l6ZW9mIChwYWlyX3QpOyArK2UpCiAgICAgICAgICAgIGlmIChuICUgZGljdGlvbmFyeVtlXS5rID09IDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIG91dHB1dCA9IHJlYWxsb2Mob3V0cHV0LCAob3V0cHV0ID09IE5VTEwgPyAwIDogc3RybGVuKG91dHB1dCkpICsgc3RybGVuKGRpY3Rpb25hcnlbZV0udykgKyAxKTsKICAgICAgICAgICAgICAgIHNwcmludGYob3V0cHV0LCAiJXMlcyIsIG91dHB1dCA9PSBOVUxMID8gIiIgOiBvdXRwdXQsIGRpY3Rpb25hcnlbZV0udyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgaWYgKG91dHB1dCA9PSBOVUxMKQogICAgICAgICAgICBwcmludGYoIiV6dVxuIiwgbik7CiAgICAgICAgZWxzZQogICAgICAgICAgICBwcmludGYoIiVzXG4iLCBvdXRwdXQpOwoKICAgICAgICBmcmVlKG91dHB1dCk7CiAgICB9Cn0K