zoukankan      html  css  js  c++  java
  • HDU 2089 不要62 (数学)

    题目链接

    Problem Description

    杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。

    杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。

    不吉利的数字为所有含有4或62的号码。例如:

    62315 73418 88914

    都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。

    你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。

    Input

    输入的都是整数对n、m(0<n≤m<1000000),如果遇到都是0的整数对,则输入结束。

    Output

    对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。

    Sample Input

    1 100
    0 0
    

    Sample Output

    80
    

    分析:

    就是求出一个区间之内的数中,不含有62或者4的数的个数,用一个数组保存从1到n的满足条件的数的个数,如果当前数满足要求的话,就在上一个数的基础上加1,否则加0,就是当前数的个数。

    代码:

    #include<stdio.h>
    #include<string.h>
    #include<iostream>
    using namespace std;
    int luck(int x)
    {
        while(x)
        {
            if(x%10==4||x%100==62)
            {
                return 0;
            }
            x/=10;
        }
        return 1;
    }
    int x[1000005];
    int main()
    {
        int i,n,m,s;
        for(i=1; i<1000005; i++)
        {
            x[i]=x[i-1]+luck(i);  //这个地方写得太好看了
        }
        while(scanf("%d%d",&n,&m)&&(n||m))
        {
            printf("%d
    ",x[m]-x[n-1]);
        }
        return 0;
    }
  • 相关阅读:
    Spring Boot自动配置
    Servlet、JSP总结(1)
    Spring MVC
    Springboot中的数据库事务
    数据库访问
    AOP
    全注解下的IOC
    spring boot入门
    安卓工程化开发笔记(2)
    2048功能说明模板
  • 原文地址:https://www.cnblogs.com/cmmdc/p/6802859.html
Copyright © 2011-2022 走看看