求满足某种性质并最接近某个数的数

  1. 预处理所有满足性质的数,二分查找
    hdu 5878,
c++ 题目描述 奶牛 Bessie 回到学校了!她开始做她的学作业,在作业中她被要将正整四舍五入到 10 10 的幂。 要将一个正整 a a 四舍五入到接近的 10 b 10 b ,其中 b b 为正整,Bessie 首先找到从右往左第 b b 个位。令 x x 为这个位。 如果 x ≥ 5 x≥5,Bessie 将 a a 增加 10 b 10 b 。 然后,Bessie 将从右侧开始直至第 b b 个位的所有位均设置为 0 0。 例如,如果 Bessie 想要将 456 456 四舍五入到接近的 10 2 10 2 (百位),Bessie 会首先找到从右往左第 2 2 个位 5 5。这意味着 x = 5 x=5。然后由于 x ≥ 5 x≥5,Bessie 将 a a 增加 100 100。后,Bessie 将 a a 中从右侧开始直至第 2 2 个位的所有位设置为 0 0,结果为 500 500。 但是,如果 Bessie 将 446 446 四舍五入到接近的 10 2 10 2 ,她将得到 400 400。 在看了 Bessie 的作业后,Elsie 认为她已经发明了一种新的舍入方式:链式舍入。要链式舍入到接近的 10 b 10 b ,Elsie 将首先舍入到接近的 10 1 10 1 ,然后舍入到接近的 10 2 10 2 ,以此类推,直至舍入到接近的 10 b 10 b 。 Bessie 认为 Elsie 是错误的,但她太忙于学作业,无法确认她的怀疑。她请你计算出存在多少个不小于 2 2 且不超过 N N 的整 x x( 1 ≤ N ≤ 10 9 1≤N≤10 9 ),使得将 x x 四舍五入到接近的 10 P 10 P 与链式舍入到接近的 10 P 10 P 的结果不同,其中 P P 是满足 10 P ≥ x 10 P ≥x 的小整。 输入格式 你需要回答多个测试用例。 输入的第一行包含一个整 T T( 1 ≤ T ≤ 10 5 1≤T≤10 5 ),为测试用例的量。以下是 T T 个测试用例。 每个测试用例的输入仅有一行,包含一个整 N N。输入保证同一测试点中的所有 N N 各不相同。 测试点性质 测试点 1:样例。 测试点 2-4: N ≤ 10 3 N≤10 3 。 测试点 5-7: N ≤ 10 6 N≤10 6 。 测试点 8-13:没有额外限制。
最新发布
03-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值