NYOJ 506

来源:互联网 发布:部落冲突防御升级数据 编辑:程序博客网 时间:2024/05/15 23:00

 

洗澡

时间限制:1000 ms  |  内存限制:65535 KB
难度:1
 
描述

Mostrp是个爱干净的好少年。 有一次去澡堂洗澡时发现 澡堂的澡柜编号中没有出现过数字‘4’。 Mostrp 感到很好奇。可能是因为在澡堂老板眼里。数字‘4’是十分不吉利的。

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

 
输入
有多组数据,每行输入一个N。 ( 1 <= N <= 50000 )
输出
输出澡柜的个数,输出占一行。
样例输入
35
样例输出
34
 1 //减4和10求余为0  2 #include <iostream> 3 #include <string> 4 using namespace std; 5 int main() 6 { 7      int i,j,k; 8      int N; 9      int sum;10      while(cin>>N)11      {12           sum = N;13           for(i=1; i<=N; i++)14           {15                if(0==(i-4)%10)16                     sum--;17                     //continue;18           }19           cout<<sum<<endl;20      }21      //while(1);22      return 0;23 }24 25 //思想不对,这只排出了最后一位不为4 的可能,中间也可能有 26                
 1 //题意就是任意一位数字均不为4  2 //打表存入数组的话速度会更快些  3 #include <iostream> 4 using namespace std; 5  6 int main() 7 { 8      int i,j,k; 9      int num,sum;10      bool flag;11      while(cin>>num)12      {13           sum = num;14           flag = true;15           for(i=1;i<=num;i++)16           {17                k = i;18                while(1)19                {20                     if(0 == k)21                     {22                          flag = true;23                          break;24                     }25                     int temp = k%10;26                     if(4 == temp)27                     {28                          flag = false;29                          break;30                     }31                     k /= 10;32                }33                if(!flag)34                {35                     sum--;36                     flag = true;37                }38           }39           cout<<sum<<endl;40      }41      return 0;42 }43                     44      

 

0 0
原创粉丝点击