题一 楼层
( floor. .* * )
【问题描述】
mxy 感觉新世界的大门打开了。
ta 决定要在新世界的旅馆中找间房住。已知新世界每天都有一个高能的数字 t,这个数字在楼层中是不会出现的。我们以t=3 为例,则3,13,31,33 等楼层是不存在的,楼层编号为1,2,4,5……,所以实际上的4 楼才是3 楼。
已知 mxy订了编号为 m 层的房间,并且当天高能数字是 t,现在ta 想知道ta 的房间真实楼层是多少。(保证m 对 t 合法)
【输入】
一行 2个整数 m 和 t。(1≤m≤100000,0≤t≤9)
【输出】
一行一个整数,表示真实楼层。
【输入输出样例】
floor.in
14 3
floor.out
12
var
s,tt:string;
m,t,i,j,ans:longint;
begin
read(m,t);
str(t,tt);//转成字符串
for i:=1 to m do//一个一个地找
begin
str(i,s);//转成字符串
if pos(tt,s)<>0 then inc(ans);//其中有t的层数就累加
end;
writeln(m-ans);//剩余的楼层
end.
本文介绍了一个有趣的楼层转换问题:在一个特殊规则下(特定数字不会出现在楼层编号中),如何计算预订楼层的真实所在楼层。通过一个简单的算法实现,文章展示了从输入楼层号和排除数字到计算实际楼层的全过程。

737

被折叠的 条评论
为什么被折叠?



