首页 > 代码库 > C++实现页码数字统计
C++实现页码数字统计
#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.mamicode.com/"http://www.cppblog.com/AllKillMan/archive/2011/08/18/153798.html">http://www.cppblog.com/AllKillMan/archive/2011/08/18/153798.html
C++实现页码数字统计
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。