现在的位置: 首页 > 综合 > 正文

poj2891

2013年05月16日 ⁄ 综合 ⁄ 共 565字 ⁄ 字号 评论关闭

简单组合。

/*************************************************************************
> File Name: poj2891.cpp
> Author: zhengnanlee 
> Mail: zhengnanlee@hotmail.com  
> Created Time: 2013年09月18日 星期三 14时20分17秒
************************************************************************/


#include<iostream>


using namespace std;


#define ULL long long int




ULL calc(ULL a)
{
    if(a < 0)
    return 0;
    ULL ans = a / 10 + 1;
    if(a == 0)
    return 1;
    ULL k = a / 10;
    for(ULL i = 10; k >= 10; i *= 10, k /=10)
    {
        if(k % 10 == 0)
        ans += (a / (i * 10) - 1) * i + a % i + 1;
        else
        ans += a / (i * 10) * i;
    }
    return ans;
}




int main()
{
    ULL a, b;
    while(cin>>a>>b && (a != -1 && b != -1))
    {
        cout << calc(b) - calc(a - 1) << endl;
    }
}

抱歉!评论已关闭.