当前位置: 首页 > news >正文

Python-86:奇妙货币交易问题

问题描述

小R住在一个名为 X 国的国家,这里的货币非常特殊,面值为 V0,V1,V2,...,VnV0,V1,V2,...,Vn,并且 nn 可以无限大。该国的交易规则也很特别:在一次交易中,双方只能对每种面值的货币使用不超过两次。

例如,小R想买一件价格为 198 的物品,货币的基数 V=10V=10 时,小R可以使用 2 张 100(102)100(102) 的纸币,卖家则找回 2 张 1(100)1(100) 的纸币。由于这个奇怪的规则,很多 X 国人都无法快速判断某个物品是否可以用这种方式交易成功,他们常常会请聪明的你来帮助。

你能帮他们判断一下,是否能按照规则用给定的货币面值 VV 来完成价格为 WW 的交易吗?

约束条件:

  • VW为整数,数据范围 2 ≤ V, 1 ≤ W

代码

def solution(V: int, W: int) -> str:

    n, m = V, W

    if n <= 5:

        return "YES"

    while m:

        remainder = m % n

        if remainder <= 2:

            m //= n

        elif remainder >= n - 2:

            m = m // n + 1

        else:

            return "NO"

    return "YES"

   

if __name__ == "__main__":

    # Add your test cases here

    print(solution(10, 9) == "YES")

    print(solution(200, 40199) == "YES")

    print(solution(108, 50) == "NO")

相关文章:

  • 基于SpringBoot的在线教育管理系统
  • Qt 界面优化(绘图)
  • 计算机网络--2
  • 黑名单中的随机数-leetcode710
  • PostgreSQL 的 pg_column_size 函数
  • 用一张网记住局域网核心概念:从拓扑结构到传输介质的具象化理解
  • 【计算机网络01】 网络组成与三种交换方式
  • 万字了解什么是微前端???
  • Redis爆肝总结
  • CacheBackEmbedding 组件的运行流程和使用注意事项
  • Python-MCPAgent开发-DeepSeek版本
  • iOS实名认证模块的具体实现过程(swift)
  • 【C++】16.继承
  • 【东枫科技】使用LabVIEW进行深度学习开发
  • SaaS场快订首页的前端搭建【持续更新】
  • 【每日一题 | 2025年5.5 ~ 5.11】搜索相关题
  • JavaWeb, Spring, Spring Boot
  • 《Go小技巧易错点100例》第三十一篇
  • 画立方体软件开发笔记 js-pytorch xlsx 导出 excel pnpm安装
  • Apache Flink 与 Flink CDC:概念、联系、区别及版本演进解析
  • 中巡组在行动丨①震慑:这些地区有官员落马
  • 美国“贸易战”前线的本土受害者:安静的洛杉矶港和准备关门的小公司
  • 中国目的地·入境游简报006|外国网红游中国启示录
  • 署名文章:从宏观调控看中国经济基本面
  • 汇源果汁发文:经营情况一切正常
  • 著名蒙古族音乐学者马•斯尔古愣逝世,享年86岁