about summary refs log tree commit diff
path: root/NTU/circlenum.c
diff options
context:
space:
mode:
Diffstat (limited to 'NTU/circlenum.c')
-rw-r--r--NTU/circlenum.c53
1 files changed, 0 insertions, 53 deletions
diff --git a/NTU/circlenum.c b/NTU/circlenum.c
deleted file mode 100644
index 408bea0..0000000
--- a/NTU/circlenum.c
+++ /dev/null
@@ -1,53 +0,0 @@
-#include <stdio.h>
-
-const long long INTPOW10[] = {1, 10, 100, 1000, 10000, 100000, 1000000,
-                              10000000, 100000000, 1000000000, 10000000000,
-                              100000000000, 1000000000000, 10000000000000,
-                              100000000000000, 1000000000000000,
-                              10000000000000000, 100000000000000000,
-                              1000000000000000000};
-
-char intlog10(long long n)
-{
-	char val = 0;
-	while (n > 9) {
-		n /= 10;
-		val++;
-	}
-
-	return val;
-}
-
-char isnt_circle(long long n)
-{
-	return n % 10 != n / INTPOW10[intlog10(n)];
-}
-
-int main()
-{
-	long long l, r;
-	scanf("%lld %lld", &l, &r);
-	while (isnt_circle(l))
-		l++;
-	while (isnt_circle(r))
-		r--;
-
-	char llog = intlog10(l);
-	char rlog = intlog10(r);
-	long long l0, r0, val = 0;
-	for (char i = llog; i <= rlog; i++) {
-		l0 = INTPOW10[i] + 1;
-		l0 = (l0 > l) ? l0 : l;
-		r0 = INTPOW10[i + 1] - 1;
-		r0 = (r0 < r) ? r0 : r;
-		r0 -= l0;
-		if (r0 >= 0) {
-			val++;
-			val += (r0 < 10) ? r0 : (r0 / 10);
-		}
-	}
-
-	printf("%lld\n", val);
-
-	return 0;
-}