From 9e28e4c7b67c54229df11d355047ac8a88ea1817 Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Sun, 15 Dec 2019 15:09:13 +0700 Subject: Normalize pathname --- NTU/circlenum.c | 53 ----------------------------------------------------- 1 file changed, 53 deletions(-) delete mode 100644 NTU/circlenum.c (limited to 'NTU/circlenum.c') 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 - -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; -} -- cgit 1.4.1