// Please write a program using C++ that prints the integers counting down from 95 to 1.
// If the number is a multiple of 7, instead of the number, print Bizz.
// If the sum of the number with the previous Bizzed number is a multiple of 5, print Fuzz.
// If the number is both a multiple of 7 and its sum with the previous Bizzed number is a multiple of 5,
// print BizzFuzz. This counts as a Bizzed number.
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
int lastBizz = 0;
for ( int i = 95; i >= 1; i-- ) {
bool shouldBizz = false, shouldFuzz = false;
shouldBizz = ( i % 7 ) == 0;
shouldFuzz = lastBizz != 0 && ( ( lastBizz + i ) % 5 == 0 );
if ( shouldBizz ) lastBizz = i;
if ( shouldBizz && shouldFuzz )
cout << "BizzFuzz" << endl;
else if ( shouldBizz )
cout << "Bizz" << endl;
else if ( shouldFuzz )
cout << "Fuzz" << endl;
else
cout << i << endl;
}
}
Ly8gUGxlYXNlIHdyaXRlIGEgcHJvZ3JhbSB1c2luZyBDKysgdGhhdCBwcmludHMgdGhlIGludGVnZXJzIGNvdW50aW5nIGRvd24gZnJvbSA5NSB0byAxLgovLyBJZiB0aGUgbnVtYmVyIGlzIGEgbXVsdGlwbGUgb2YgNywgaW5zdGVhZCBvZiB0aGUgbnVtYmVyLCBwcmludCBCaXp6LgovLyBJZiB0aGUgc3VtIG9mIHRoZSBudW1iZXIgd2l0aCB0aGUgcHJldmlvdXMgQml6emVkIG51bWJlciBpcyBhIG11bHRpcGxlIG9mIDUsIHByaW50IEZ1enouCi8vIElmIHRoZSBudW1iZXIgaXMgYm90aCBhIG11bHRpcGxlIG9mIDcgYW5kIGl0cyBzdW0gd2l0aCB0aGUgcHJldmlvdXMgQml6emVkIG51bWJlciBpcyBhIG11bHRpcGxlIG9mIDUsCi8vICBwcmludCBCaXp6RnV6ei4gVGhpcyBjb3VudHMgYXMgYSBCaXp6ZWQgbnVtYmVyLgogCiNpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAppbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpIHsKICAgaW50IGxhc3RCaXp6ID0gMDsKIAogICBmb3IgKCBpbnQgaSA9IDk1OyBpID49IDE7IGktLSApIHsKICAgICAgYm9vbCBzaG91bGRCaXp6ID0gZmFsc2UsIHNob3VsZEZ1enogPSBmYWxzZTsKIAogICAgICBzaG91bGRCaXp6ID0gKCBpICUgNyApID09IDA7CiAgICAgIHNob3VsZEZ1enogPSBsYXN0Qml6eiAhPSAwICYmICggKCBsYXN0Qml6eiArIGkgKSAlIDUgPT0gMCApOwogCiAgICAgIGlmICggc2hvdWxkQml6eiApIGxhc3RCaXp6ID0gaTsKIAogICAgICBpZiAoIHNob3VsZEJpenogJiYgc2hvdWxkRnV6eiApCiAgICAgICAgIGNvdXQgPDwgIkJpenpGdXp6IiA8PCBlbmRsOwogICAgICBlbHNlIGlmICggc2hvdWxkQml6eiApCiAgICAgICAgIGNvdXQgPDwgIkJpenoiIDw8IGVuZGw7CiAgICAgIGVsc2UgaWYgKCBzaG91bGRGdXp6ICkKICAgICAgICAgY291dCA8PCAiRnV6eiIgPDwgZW5kbDsKICAgICAgZWxzZQogICAgICAgICBjb3V0IDw8IGkgPDwgZW5kbDsKICAgfQp9