Факторизация

Две простые программы поиска разложения целых чисел на простые множители. Диапазон 1<=n<=999999999. В первой в качестве пробных делителей проверяются числа 2 и все нечетные. Во второй - 2,3 и все числа вида 6*I+1, 6*I-1.

1 программа:

Input N;
If(N==1)Then{Goto 1};
For(P=2;NRmdr2==0;N=N/2){Print P};
If(N==1)Then{Goto 2};
For(P=3;P^2<=N;P=P+2)
{
    If(NRmdrP==0)Then
    {
       Print P;
       N=N/P;
       P=P-2;
    }
};
Label 1:;
Print N;
Label 2:;
End

2 программа: