Untitled
unknown
plain_text
4 years ago
1.8 kB
3
Indexable
#include <iostream> #include <string> #include <cmath> using namespace std; bool check(string s) { int n = s.length(); for(int i=0;i<(n/2);i++) { if(s[i]!=s[n-i-1]) { return 0; } } return 1; } int main() { long long int l,r; while(cin>>l>>r) { long long int count=0; if(r<=10 && l<10) { cout<<r-1<<endl; continue; } if(l<10) { if(r <=100) { if(l<10) { count = 10-l; } r/=10; cout <<count+r-1; continue; } count = 10-l; l=11; } string s = to_string(l); string a = to_string(r); long long int b = s.length(),c=a.length(); long long int q = pow(10,b-1); long long int y = pow(10,c-1); long long int h = l%q; long long int k = r%y; long long int v = l-h; long long int x = r-k; for(long long int i=v;i<x;i=k) { s = to_string(i); b = s.length(); k = pow(10,b); if(k>x) { k = x; } if(b%2==0) { b = (b/2)-1; } else { b = b/2; } c = s.length(); int e = i/(pow(10,c-1)); int t = k/(pow(10,c-1)); y = pow(10,b); count+=(y*(t-e)); } for(long long int i=k;i<=r;i++) { if(check(to_string(i))) { //cout<<i<<endl; count++; } } cout<<count<<endl; // cout<<count__<<endl; } }
Editor is loading...