#include<iostream> #include<iomanip> #include<cstdlib> #include<ctime> #include<cmath> #include<vector> #include<map> #include<algorithm> #include<string> #include<sstream> using namespace std; int Str2Int(const string & s, int st, int ed) { int n = 0; for (int i = st; i < ed; ++i) { n = n * 10 + s[i]- '0'; } return n; } int pos_power(int base, int ind) { int res = 1; for (int i = 0; i < ind; ++i) res *= base; return res; } int Count2(int n) { int cnt = 0; int ord = 0; for (ord = 0; n / pos_power(10, ord) > 0; ++ord) { int bit = n / pos_power(10, ord) % 10; cnt += bit*ord* pos_power(10, ord-1); if (bit > 2) cnt += pos_power(10, ord); else if (bit == 2) cnt += n % pos_power(10, ord) + 1; } return cnt; } int main(void) { int L, R; while (cin >> L >> R) { //cout << Count2(R) << endl; //cout << Count2(R) << " " << Count2(L - 1) << endl; cout << (Count2(R) - Count2(L - 1)) << endl; } return 0; }
參考链接: <a target=_blank href="http://www.cppblog.com/AllKillMan/archive/2011/08/18/153798.html">http://www.cppblog.com/AllKillMan/archive/2011/08/18/153798.html</a>
时间: 2024-11-11 05:28:22