Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- typedef long long int lli;
- int main(){
- lli x = 0;
- scanf ("%lld", &x);
- lli tmp = sqrt(x);
- char *mas = (char*) malloc (tmp * sizeof (char));
- lli del = 0;
- for (lli i = 0; i < tmp; i++) mas[i] = 1;
- for (lli i = 2; i*i < tmp; i++){
- if (mas[i]){
- for(lli j = i * i; j <= tmp; j += i)
- if(mas[j]) {
- mas[j] = 0;
- }
- }
- }
- for (lli i = 2; i <= tmp; i++){
- while (mas[i] && x % i == 0){
- x /= i;
- del = i;
- }
- }
- del = del > x ? del : x;
- if (!del) printf("%lld\n",x );
- else printf("%lld\n", del);
- free(mas);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement