class Solution {
public : // solution by Abdrashim Eldan, any question: eldan.abdrashim@gmail.com
vector< string> fizzBuzz( int n) { //If we look this method return vector <string>, it's say we work with vector;
vector < string> res; // creat vector, we know vector its a dynamic array, that works with pointers and ampersands
for ( int i = 1 ; i <= n; i++ ) {
if ( i % 15 == 0 ) { // first check: if i devided to 3 and 5 then we push in stack FizzBuzz
res.push_back ( "FizzBuzz" ) ;
}
else if ( i % 3 == 0 ) { // if i devided only to 3 then we push Fizz
res.push_back ( "Fizz" ) ;
}
else if ( i % 5 == 0 ) {
res.push_back ( "Buzz" ) ;
}
else {
res.push_back ( to_string( i) ) ; // and the last one, if all the check not true, then we push i but convert to string;
}
}
return res; // res, it's mean result.
}
} ;
Y2xhc3MgU29sdXRpb24gewpwdWJsaWM6IC8vIHNvbHV0aW9uIGJ5IEFiZHJhc2hpbSBFbGRhbiwgYW55IHF1ZXN0aW9uOiBlbGRhbi5hYmRyYXNoaW1AZ21haWwuY29tCiAgICB2ZWN0b3I8c3RyaW5nPiBmaXp6QnV6eihpbnQgbikgeyAvL0lmIHdlIGxvb2sgdGhpcyBtZXRob2QgcmV0dXJuIHZlY3RvciA8c3RyaW5nPiwgaXQncyBzYXkgd2Ugd29yayB3aXRoIHZlY3RvcjsKICAgICAgICB2ZWN0b3IgPHN0cmluZz4gcmVzOyAvLyBjcmVhdCB2ZWN0b3IsIHdlIGtub3cgdmVjdG9yIGl0cyBhIGR5bmFtaWMgYXJyYXksIHRoYXQgd29ya3Mgd2l0aCBwb2ludGVycyBhbmQgYW1wZXJzYW5kcwogICAgICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKXsKICAgICAgICAgICAgaWYoaSAlIDE1ID09IDApeyAvLyBmaXJzdCBjaGVjazogaWYgaSBkZXZpZGVkIHRvIDMgYW5kIDUgdGhlbiB3ZSBwdXNoIGluIHN0YWNrIEZpenpCdXp6CiAgICAgICAgICAgICAgICByZXMucHVzaF9iYWNrKCJGaXp6QnV6eiIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYoaSAlIDMgPT0gMCl7IC8vIGlmIGkgZGV2aWRlZCBvbmx5IHRvIDMgdGhlbiB3ZSBwdXNoIEZpenoKICAgICAgICAgICAgICAgIHJlcy5wdXNoX2JhY2soIkZpenoiKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmKGkgJSA1ID09IDApewogICAgICAgICAgICAgICAgcmVzLnB1c2hfYmFjaygiQnV6eiIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICByZXMucHVzaF9iYWNrKHRvX3N0cmluZyhpKSk7IC8vIGFuZCB0aGUgbGFzdCBvbmUsIGlmIGFsbCB0aGUgY2hlY2sgbm90IHRydWUsIHRoZW4gd2UgcHVzaCBpIGJ1dCBjb252ZXJ0IHRvIHN0cmluZzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gcmVzOyAvLyByZXMsIGl0J3MgbWVhbiByZXN1bHQuCiAgICB9Cn07