From 7206ecee7579a10dd347d06b397b3790e969f8f3 Mon Sep 17 00:00:00 2001 From: Raphael McSinyx Date: Sun, 1 Jan 2017 21:05:53 +0700 Subject: Add others/easy20160714 --- others/easy20160714/08.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 others/easy20160714/08.c (limited to 'others/easy20160714/08.c') diff --git a/others/easy20160714/08.c b/others/easy20160714/08.c new file mode 100644 index 0000000..c39fee9 --- /dev/null +++ b/others/easy20160714/08.c @@ -0,0 +1,52 @@ +#include +#include +#include + +#define sqr(x) x * x + +int cmp(const void *x, const void *y) +{ + return *(unsigned long *) x - *(unsigned long *) y; +} + +int main() +{ + FILE *f = fopen("INP.TXT", "r"); + char n, i, j, s[5] = {78, 79, 10}; + unsigned long *a, c; + unsigned long long b; + + fscanf(f, "%hhd", &n); + a = malloc(n * sizeof(unsigned long)); + + for (i = 0; i < n; i++) + fscanf(f, "%ld", a + i); + + fclose(f); + + qsort(a, n, sizeof(unsigned long), &cmp); + + for (i = 0; i + 1 < n; i++) + for (j = i + 1; j < n; j++) { + b = sqr(a[i]) + sqr(a[j]); + + c = (unsigned long) sqrt(b); + + if (sqr(c) == b && bsearch(&c, a, n, 4, &cmp) != NULL) { + s[0] = 89; + s[1] = 69; + s[2] = 83; + s[3] = 10; + + break; + } + } + + f = fopen("OUT.TXT", "w"); + + fputs(s, f); + + fclose(f); + + return 0; +} -- cgit 1.4.1