about summary refs log tree commit diff
path: root/tht/B/QG-2016/trigrid.c
diff options
context:
space:
mode:
authorNguyễn Gia Phong <vn.mcsinyx@gmail.com>2019-12-15 15:09:13 +0700
committerNguyễn Gia Phong <vn.mcsinyx@gmail.com>2019-12-15 15:09:13 +0700
commit9e28e4c7b67c54229df11d355047ac8a88ea1817 (patch)
tree0d9d40db69613c2c49564a3f1987a005d61f4db3 /tht/B/QG-2016/trigrid.c
parent67393f42f41ab92219deb549f711121c4dab845b (diff)
downloadcp-9e28e4c7b67c54229df11d355047ac8a88ea1817.tar.gz
Normalize pathname
Diffstat (limited to 'tht/B/QG-2016/trigrid.c')
-rw-r--r--tht/B/QG-2016/trigrid.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/tht/B/QG-2016/trigrid.c b/tht/B/QG-2016/trigrid.c
new file mode 100644
index 0000000..15ad552
--- /dev/null
+++ b/tht/B/QG-2016/trigrid.c
@@ -0,0 +1,29 @@
+#include <stdio.h>
+
+const long long TESTS[] = {4, 3, 5, 6, 111, 222, 3333, 4444, 55555, 666666,
+                           7777777, 88888888, 999999999, 123456789123456789,
+                           1000000000000000000};
+
+long long quadratic(long long x, char a, char b, char c)
+{
+	return a * x * x + b * x + c;
+}
+
+int main()
+{
+	char i;
+	long long k, q;
+	FILE *f;
+
+	f = fopen("TRIGRID.TXT", "w");
+
+	for (i = 0; i < 15; i++) {
+		q = TESTS[i] % 2016;
+		k = TESTS[i] / 2016 % 2016 * 252 * quadratic(q, 6, 10, 2);
+		fprintf(f, "%d\n", (k + quadratic(q, 2, 5, 2) * q / 8) % 2016);
+	}
+
+	fclose(f);
+
+	return 0;
+}