zoukankan      html  css  js  c++  java
  • 【ACM】NYOJ_506_洗澡_20130725

    洗澡
    时间限制:1000 ms  |  内存限制:65535 KB
    难度:1
    描述
    Mostrp是个爱干净的好少年。 有一次去澡堂洗澡时发现 澡堂的澡柜编号中没有出现过数字‘4’。 Mostrp 感到很好奇。可能是因为在澡堂老板眼里。数字‘4’是十分不吉利的。

    现在Mostrp知道澡柜的最大的编号N,你能帮他算出澡堂一共有多少澡柜吗?

    输入
    有多组数据,每行输入一个N。
    ( 1 <= N <= 50000 )
    输出
    输出澡柜的个数,输出占一行。
    样例输入
    3
    5
    样例输出
    3
    4

     1 #include <stdio.h>
     2 int main()
     3 {int n;
     4  while(scanf("%d",&n)!=EOF)
     5  {int i,j,m;
     6   m=n;
     7   for(i=1;i<n;i++)
     8   {j=i;
     9    while(j>0)
    10    {if(j%10==4)
    11     {m--;
    12      j=0;}
    13     j/=10;
    14     }
    15   }
    16   printf("%d
    ",m);
    17  }
    18  return 0;    
    19 }

    思想:对所有数字逐个判断,含有4的减掉,

     1 #include <stdio.h>
     2 #include <string.h>
     3 int s[50010];
     4 int main()
     5 {
     6     int n;
     7     int i,j,t;
     8     memset(s,0,sizeof(s));
     9     s[0]=0;
    10     for(i=1;i<=50000;i++)
    11     {
    12         j=i;
    13         t=0;
    14         while(j>0)
    15         {
    16             if(j%10==4)
    17             {
    18                 t++;
    19                 j=0;
    20             }
    21             j/=10;
    22         }
    23         if(!t)
    24         s[i]=s[i-1]+1;
    25         else
    26         s[i]=s[i-1];
    27     }
    28     while(scanf("%d",&n)!=EOF)
    29     {  
    30         printf("%d
    ",s[n]);
    31     }
    32     return 0;    
    33 }

    //思想:打表,利用前一个的结果,只需判断当前数字即可,很快!

  • 相关阅读:
    HTML5 History 模式 nginx配置
    nginx配置及性能调优
    windows启动jar包bat文件
    在线小工具
    BAT文件里Maven命令执行后退出的解决方案
    文字超出隐藏
    SOCKET.IO
    call与apply简单介绍
    html里面,没有内容,要高度占满页面
    css实现三角形标
  • 原文地址:https://www.cnblogs.com/xl1027515989/p/3217332.html
Copyright © 2011-2022 走看看