• HDU 4722 Good Numbers 2013年四川省赛题


    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4722

    题目大意:给定一个区间,求区间中有多少个满足每位上的数的和是10的倍数。

    解题思路:先打表暴力求出前200项符合条件的个数,然后再找规律。

    0~9    0    1个

    10~19  9   1个

    20~-29  18  1个

    0~100         10个

    0~200         20个

    基本规律:r/10-(l-1)/10;只需要找两端点是否在范围内即可

    #include<cstdio>
    #include <iostream>
    using namespace std;
    long long is(long long x)
    {
     long long k,l,r,ans;
     l=x/10*10;
     r=(x/10+1)*10;//cout<<"l="<<l<<",r="<<r<<endl;
     for(long long i=l;i<r;i++)
     {
      k=i;ans=0;
      while(k!=0)
     {
      ans+=k%10;
      k/=10;
      //cout<<"k="<<k<<",ans="<<ans<<endl;
     }
     if(ans%10==0) {return i;}
     }
    }
    int main()
    {
     int t;
     scanf("%d",&t);
     for(int ca=1;ca<=t;ca++)
     {
      long long a,b,sum;
      cin>>a>>b;
      long long l=(a-1)/10,r=(b)/10;
      sum=r-l;
      if(is(a-1)<=(a-1)) sum-=1;
      if(is(b)<=b) sum+=1;
     //if(a!=0) sum-=1;
      printf("Case #%d: %lld
    ",ca,sum);
     }
     return 0;
    }
  • 相关阅读:
    js中undefined,null,NaN的区别
    js中数字计算精度
    BestCoder Round #32
    POJ 2299 求逆序对(归并排序或树状数组)
    POJ 2603
    CodeForces 515C
    POJ 1853 背包问题
    UVA 10115 子符串替换
    POJ 1155 树状dp
    HDU 2196 树状dp 求树中节点之间的最长距离
  • 原文地址:https://www.cnblogs.com/www-cnxcy-com/p/5739984.html
Copyright © 2020-2023  润新知