hdu4722 Good Numbers
题意:定义x为good number,如果x的各个数位之和能被10整除。求[A,B]区间goodnumber的个数
分析:一看范围这么大,肯定是数位DP,为什么大家过的这么快呢,然后灿哥找到了规律,但是不完全的,还要修改,但是他们已经用数位Dp过了。所以我就不管了,比赛结束之后把找规律的改了改就过了
int judge(LL n) { int sum = 0; while(n) { sum += n%10; n/=10; } return sum ; } LL get(LL x) { if(x < 0 ) return 0 ; if(x == 0 ) return 1 ; LL res ; res = x / 10 ; LL sum ,last; sum = judge(x) % 10 ; sum = 10 - sum ; last = x % 10 ; if(last + sum >= 10 ) res ++ ; return res; } int main() { int t,cse = 1; scanf("%d",&t); while(t--) { LL m,n; // scanf("%I64d",&n); scanf("%I64d%I64d",&m,&n); LL ans = get(n)- get(m - 1 ); printf("Case #%d: %I64d\n",cse++,ans); } return 0; }
posted on 2013-09-11 20:47 oshixiaoxiliu 阅读(174) 评论(0) 编辑 收藏 举报