Yorumlarda arama tablolarından bahsedilmiştir. İki yaklaşım vardır.
Hızlı
256 bayt uzunluğunda bir tablo oluşturun, bir sonraki her değer karşılık gelen dizinin kareköküdür. Doğru değere doğrudan erişmek için bağımsız değişkeni dizin olarak kullandığınız için bu hızlıdır. Dezavantajı, çok sayıda yinelenen değer içeren uzun bir tabloya ihtiyaç duymasıdır.
Kompakt Söylendiği
gibi, 8 bitlik bir tam sayı yalnızca 0 ila 255 değerlerine sahip olabilir ve karşılık gelen kare kökler 0 ila 16'dır (yuvarlak). N-girdisi ile karekök n'nin olduğu bağımsız değişken için maksimum değer olan bir 16 giriş tablosu (sıfır tabanlı) oluşturun. Tablo şöyle görünecektir:
0
2
6
12
20
etc.
Tablodan geçersiniz ve argümanınızdan büyük veya ona eşit bir değerle karşılaştığınızda durursunuz. Örnek: 18'in karekökü
set index to 0
value[0] = 0, is less than 18, go to the next entry
value[1] = 2, is less than 18, go to the next entry
value[2] = 6, is less than 18, go to the next entry
value[3] = 12, is less than 18, go to the next entry
value[4] = 20, is greater than or equal to 18, so sqrt(18) = 4
Hızlı arama tablosunun sabit bir yürütme süresi (yalnızca bir arama) olsa da, burada daha yüksek değer argümanları için yürütme süresi daha uzundur.
Her iki yöntem için de tablo için farklı değerler seçerek kare kök için yuvarlatılmış veya kesilmiş bir değer arasından seçim yapabilirsiniz.