程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDU Good Numbers (熱身賽2)

HDU Good Numbers (熱身賽2)

編輯:C++入門知識

分析:一道水題、找下規律就OK了、不過要注意特判一下0、因為0也是good number、這個把我坑慘了= =|||

#include<iostream>  
#include<cstdio>  
#include<cstdlib>  
#include<cstring>  
using namespace std;  
int main(){  
    __int64 a,b;  
    int t,step=1;  
    scanf("%d",&t);  
    while(t--){  
        scanf("%I64d%I64d",&a,&b);  
        __int64 ans;  
        __int64 sa,sb;  
        int flag=0;  
        if(b>=10){  
            __int64 s=b;  
            __int64 sum=0;  
            while(s!=0){  
                sum+=s%10;  
                s/=10;  
            }  
            sum=sum-b%10;  
            sum%=10;  
            if(sum==0 || sum+b%10>=10)  
            flag=0;  
            else  
            flag=1;  
            sb=b/10-flag;  
        }  
        else  
        sb=0;  
        flag=0;  
        if(a>=11){  
            __int64 s=a-1;  
            __int64 sum=0;  
            while(s!=0){  
                sum+=s%10;  
                s/=10;  
            }  
            sum=sum-(a-1)%10;  
            sum%=10;  
            if(sum==0 || sum+(a-1)%10>=10)  
            flag=0;  
            else  
            flag=1;  
            sa=(a-1)/10-flag;  
        }  
        else  
        sa=0;  
        if(a==0 || b==0)  
        sb++;  
        printf("Case #%d: %I64d\n",step++,sb-sa);  
    }  
    return 0;  
}  

 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved