diff options
author | Nguyễn Gia Phong <vn.mcsinyx@gmail.com> | 2019-12-15 15:09:13 +0700 |
---|---|---|
committer | Nguyễn Gia Phong <vn.mcsinyx@gmail.com> | 2019-12-15 15:09:13 +0700 |
commit | 9e28e4c7b67c54229df11d355047ac8a88ea1817 (patch) | |
tree | 0d9d40db69613c2c49564a3f1987a005d61f4db3 /NTU/root.c | |
parent | 67393f42f41ab92219deb549f711121c4dab845b (diff) | |
download | cp-9e28e4c7b67c54229df11d355047ac8a88ea1817.tar.gz |
Normalize pathname
Diffstat (limited to 'NTU/root.c')
-rw-r--r-- | NTU/root.c | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/NTU/root.c b/NTU/root.c deleted file mode 100644 index 01b9b30..0000000 --- a/NTU/root.c +++ /dev/null @@ -1,37 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <math.h> - -int cmp(const void *x, const void *y) -{ - return *(long *) x - *(long *) y; -} - -int main() -{ - short i; - long a[31622]; /* square root of 1 billion */ - for (i = 0; i < 31622; i++) { - a[i] = i + 1; - a[i] *= a[i]; - } - - short t; - scanf("%hd", &t); - - long *n = malloc(t * sizeof(long)); - for (i = 0; i < t; i++) - scanf("%ld", &n[i]); - - long foo; - for (i = 0; i < t; i++) { - foo = (long) sqrt(n[i]); - foo *= foo; - foo = (long *) bsearch(&foo, a, 31622, 4, cmp) - a; - while ((foo > 0) && (n[i] % a[foo])) - foo--; - printf("%hd %ld\n", foo + 1, n[i] / a[foo]); - } - - return 0; -} |