From 7d19f480637e9e880b98dabfbcf8e885b0a2d3b9 Mon Sep 17 00:00:00 2001 From: Raphael McSinyx Date: Tue, 21 Feb 2017 21:09:39 +0700 Subject: Update others/volume1 --- others/volume1/112.pas | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 others/volume1/112.pas (limited to 'others/volume1/112.pas') diff --git a/others/volume1/112.pas b/others/volume1/112.pas new file mode 100644 index 0000000..0dec65e --- /dev/null +++ b/others/volume1/112.pas @@ -0,0 +1,39 @@ +uses clib; + +var + a, b: int64; + i, j: int32; + p: array[2..999983] of boolean; + primes: intar; + +begin + for i := 2 to 999983 do + p[i] := true; + for i := 2 to 997 do + for j := 2 to 999983 div i do + p[i * j] := false; + j := 0; + setlength(primes, 78498); + for i := 2 to 999983 do + if p[i] then + begin + primes[j] := i; + inc(j) + end; + + repeat + readln(a, b); + a := a * b div sqr(gcd(a, b)); + b := 0; + for i := 0 to bisect_left(primes, trunc(sqrt(a))) do + while a mod primes[i] = 0 do + begin + a := a div primes[i]; + b := b + 1 + end; + if a = 1 then + writeln(b) + else + writeln(b + 1) + until eof(input) +end. -- cgit 1.4.1