C++实现页码数字统计

来源:互联网 发布:小偶的软件 编辑:程序博客网 时间:2024/06/06 01:24
#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>


0 0
原创粉丝点击