zoukankan      html  css  js  c++  java
  • 数学 之 hdu 4722

    //  [7/13/2014 Sjm]
    /*
    规律:
    [xxxx0, xxxx9] (指十位及更高位都相等但仅有个位不同的连续10个数字),一定仅有一个满足数位之和整除10
     
    于是:
    对于所给数[a, b],
    判断a值是否个位为0,若否:将a值不断加1,并赋值给A,直至A个位为 0;
    判断b值是否个位为9,若否:将b值不断减1,并赋值给B,直至B个位为 9。
     
    故答案由三部分加和:
    1)[a, A) 满足数位之和整除10的数字个数
    2)(B, b] 满足数位之和整除10的数字个数
    3) [A, B] 满足数位之和整除10的数字个数 <= 由规律知道,个数为 (B-A+1)/10
     
    ****编代码时,注意区间[a, b], (b-a)<9 的处理****
     
    */
     1 #include <iostream>
     2 #include <cstdlib>
     3 #include <cstdio>
     4 using namespace std;
     5 typedef __int64 int64;
     6 
     7 bool Judge(int64 num)
     8 {
     9     int sum = 0;
    10     while (num){
    11         sum += (num % 10);
    12         num /= 10;
    13     }
    14     return (!(sum % 10));
    15 }
    16 
    17 int main()
    18 {
    19     //freopen ("input.txt", "r", stdin);
    20     int64 a, b;
    21     int N;
    22     scanf("%d", &N);
    23     for (int i = 1; i <= N; i++) {
    24         scanf("%I64d %I64d", &a, &b);
    25         int64 ans = 0;
    26 
    27         int t_a = a % 10;
    28         int t_b = b % 10;
    29 
    30         while (t_a != 0 && a <= b) {
    31             if (Judge(a)) {
    32                 ans++;
    33             }
    34             a++;
    35             t_a = a % 10;
    36         }
    37 
    38 
    39         while (t_b != 9 && a <= b) {
    40             if (Judge(b)) {
    41                 ans++;
    42             }
    43             b--;
    44             t_b = b % 10;
    45         }
    46 
    47         if ((b - a) >= 9) {
    48             ans += ((b - a + 1) / 10);
    49         }
    50         printf("Case #%d: %I64d
    ", i, ans);
    51     }
    52     return 0;
    53 }
  • 相关阅读:
    mongodb 逻辑操作符
    mongodb 操作符
    js 对象拷贝的三种方法,深拷贝函数。
    html语义化
    移动端meta
    onmouseOver、onmouseOut 和 onmouseEnter、onmouseLeave的区别
    javascript阻止事件冒泡和浏览器的默认行为
    js中return的用法
    Ubuntu联网设置
    视窗宽高offset、client、scroll
  • 原文地址:https://www.cnblogs.com/shijianming/p/4140834.html
Copyright © 2011-2022 走看看