diff options
author | Raphael McSinyx <vn.mcsinyx@gmail.com> | 2016-11-20 16:01:00 +0700 |
---|---|---|
committer | Raphael McSinyx <vn.mcsinyx@gmail.com> | 2016-11-21 23:09:31 +0700 |
commit | 48dffc6138fb90c2df90207b7b3d3291f8498001 (patch) | |
tree | c7d03f0b9ca356422105a11e62cb0e4ef9dc4059 /others/mHoang20150916/pfactor.c | |
parent | f97ad3e9e225a288e7a8a53c2ef0acb45a47dbde (diff) | |
download | cp-48dffc6138fb90c2df90207b7b3d3291f8498001.tar.gz |
Add others/mHoang20150916
Diffstat (limited to 'others/mHoang20150916/pfactor.c')
-rw-r--r-- | others/mHoang20150916/pfactor.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/others/mHoang20150916/pfactor.c b/others/mHoang20150916/pfactor.c new file mode 100644 index 0000000..fee50b5 --- /dev/null +++ b/others/mHoang20150916/pfactor.c @@ -0,0 +1,21 @@ +#include <stdio.h> +#include <math.h> + +int main() +{ + long long n, sqrtn; + long i, tmp; + + scanf("%lld", &n); + sqrtn = sqrt(n); + + for (i = 2; i <= sqrtn && n > 1; i++) + while (n % i == 0) { + n /= i; + tmp = i; + } + + printf("%lld\n", (n == 1) ? tmp : n); + + return 0; +} |