sexta-feira, novembro 03, 2006

Desafio matemático

Este desafio consiste em descobrir os valores que tomam as variáveis do código seguinte, cada vez que o método é chamado.


int xPoint = 0, yPoint = 0;
double xDraw = 1, yDraw = 10;

private static void NextDrawPoint(ref int xPoint, ref int yPoint, ref double xDraw, ref double yDraw)
{
++xPoint;
yPoint += Convert.ToInt32(Math.Floor((double)xPoint / 3));
xPoint %= 3;
xDraw += 3;
yDraw -= Math.Floor(xDraw / 9) * 1.5;
xDraw %= 9;
}


A função Math.Floor faz arredondamento para baixo. Este código é interessante e importante porque evita a escrita de um "monte" de if's.

Sem comentários: