Çözümü tam olarak bilmemekle beraber aklıma gelen bir fikir söyleyeyim belki kodlara dökebilirsin.
Ben de müsait olunca bir denerim.
Önce sayının çarpanlarını bulsak;
(1,2,5,10,25,50) gibi belki döngüler yardımı ile yaparsın.
Sonra bu çarpanlardan tam kare olanları (ya da işine yarayanı) bulup (25 = a üssü 2) kök öncesine a (a=5) şeklinde yazabilirsin.
Sonra da kök içine gerekli sayıyı (50/25 = 2) yazdırırsın.
Yapabileceğimizden emin olmamakla beraber pythonda karekök fonksiyonu var o işini görmedi mi?