TlačiťTlačiť Slovenčina English Hľadať RSS

© 2005 – 2024 Roman Horváth, všetky práva vyhradené. Dnes je 26. 4. 2024.

Stránka sa načítava, prosím čakajte…

Dátum: 17. 3. 2022, predminulý rok

Robot sa pohybuje po krokoch v štvorcovej špirále a nakreslí bodku na každej pozícii, na ktorej počet krokov (od štartu) je prvočíslo.

  
obrázok 
Výsledok. 
 

Obálka


import knižnica.*;

public class PrvočíselnáŠpirála extends GRobot
{
	private PrvočíselnáŠpirála()
	{
		super(800, 800);
		veľkosť(2);
		uholOtáčania(90);
		vpravo();
		vypĺňajTvary();

		Svet.nekresli();

		// Priestor na umiestnenie algoritmu.

		Svet.kresli();

		podlaha.uložObrázok("PrvočíselnáŠpirála.png");
	}

	public static void main(String[] args)
	{
		Svet.použiKonfiguráciu("PrvočíselnáŠpirála.cfg");
		new PrvočíselnáŠpirála();
	}
}

 

Algoritmus

int p = 1, n = 0;
for (int i = 0; i < 200; ++i)
{
	for (int j = 0; j < 2; ++j)
	{
		for (int k = 0; k < p; ++k)
		{
			if (Svet.jePrvočíslo(n)) krúžok();
			dopredu(); dopredu();
			++n;
		}
		vľavo();
	}
	++p;
}