洗澡
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
1
- 描述
-
Mostrp是个爱干净的好少年。 有一次去澡堂洗澡时发现 澡堂的澡柜编号中没有出现过数字‘4’。 Mostrp 感到很好奇。可能是因为在澡堂老板眼里。数字‘4’是十分不吉利的。
现在Mostrp知道澡柜的最大的编号N,你能帮他算出澡堂一共有多少澡柜吗?
- 输入
- 有多组数据,每行输入一个N。 ( 1 <= N <= 50000 )
- 输出
- 输出澡柜的个数,输出占一行。
- 样例输入
-
3 5
- 样例输出
-
3 4
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