zoukankan      html  css  js  c++  java
  • 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.cppblog.com/AllKillMan/archive/2011/08/18/153798.html">http://www.cppblog.com/AllKillMan/archive/2011/08/18/153798.html</a>


  • 相关阅读:
    Basic knowledge of html (keep for myself)
    科学技术法转成BigDemcial
    SimpleDateFormat
    log4j 配置实例
    R 实例1
    yield curve
    if-else的优化举例
    十二、高级事件处理
    十一、Swing
    十、输入/输出
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/7078924.html
Copyright © 2011-2022 走看看