function shor_sample() {
   var N = 35; // Liczba, którą faktorujemy
   var precision_bits = 4; // Zob. opis w tekście
   var coprime = 2; // Musi być 2 w tej implementacji

   var result = Shor(N, precision_bits, coprime);
}
function Shor(N, precision_bits, coprime) {
   // część kwantowa
   var repeat_period = ShorQPU(N, precision_bits, coprime);
   var factors = ShorLogic(N, repeat_period, coprime);
   // część klasyczna
   return factors;
}
function ShorLogic(N, repeat_period, coprime) {   // Mając powtórzony okres, odnajdź rzeczywiste czynniki
   var ar2 = Math.pow(coprime, repeat_period / 2.0);
   var factor1 = gcd(N, ar2 - 1);
   var factor2 = gcd(N, ar2 + 1);
   return [factor1, factor2];
}
