FizzBuzz - cea mai populara intrebare de la interviuri

Rezolvarea celebrei probleme FizzBuzz

Posted by anghelvalentin on September 06, 2019

Chiar daca tie ti se pare ca intervievatorii sunt rai (poate unii dintre ei chiar sunt, nu zic nu), ei trebuie sa aleaga cel mai bun om dintr-o mare de oameni. Cand ai foarte multi oameni si nu ai timp sa petreci mult timp sa filtrezi, cea mai buna varianta e sa le dai o problema simpla de rezolvat. E o metoda rapida si cu o eficienta mai mult decat decenta. Cam asa e si problema FizzBuzz, nu e ceva complicat, enuntul suna astfel: Scrie un program care afiseaza numerele de la 1 la N. Daca numarul este multiplu de 3, sa se afiseze Fizz, daca este multiplu de 3 sa se afiseze Buzz, daca e multiplu si de 3 si de 5 (ex: 15) sa se afiseze FizzBuzz, in restul cazurilor sa se afiseze numarul.

FizzBuzz - problema simpla care pune dificultati

Cum bine iti dai seama (imi place de tine, esti destept), avem nevoie de o bucla for, iar prietenul nostru modulo ne va ajuta. In bucla va trebui sa ai un if-elseif-elseif-else si cam aia e.

for (int i = 1; i <= N; i++)
{
   if (i % 15 == 0)
	{
		_textWriter.Write("fizzbuzz");
	}
	else if (i % 3 == 0)
	{
		_textWriter.Write("fizz");
	}
	else if (i % 5 == 0)
	{
		_textWriter.Write("buzz");
	}
	else
	{
		_textWriter.Write(i);
	}
	_textWriter.Write(" ");
}

Dupa cum vezi nu e mare branza, dar unii oameni se pierd, alti oameni nu stiu programare.

Codul sursa