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

笔试-业务逻辑4

应用

小明在玩一个数字加减游戏,输入4个正整数:s、t、a、b,其中s>=1,b<=105,a!=b。只使用加法或者减法,使得s=t。
每回合,小明用当前的数字,加上或减去一个数字;目前有2种数字可以用来加减:a、b,其中b没有使用次数限制。 请问小明至少使用多少次a,才能使s=t?

实现

strings = input("请依次输入4个以空格分隔的正整数,分别代表s、t、a、b,其中s>=1,b<=105,a!=b:").split()
numbers = [int(i) for i in strings]
s, t, a, b = numbers

M = 0

def dividing_judgement(x, y):
    r = x % y
    if r == 0:
        result = True
    else:
        result = False
    
    return result


if s <= t:
    result = dividing_judgement(t-s, b)
    # s可以通过b的整数倍相加变成t
    if result:
        print("至少使用0次a")
    
    else:
        while not result:
            s = s + a
            M += 1
            result = dividing_judgement(t-s, b)

        print(f"至少使用{M}次a")
else:
    result = dividing_judgement(s-t, b)
     # s可以通过b的整数倍相减变成t
    if result:
        print("至少使用0次a")
    else:
        while not result:
            s = s - a
            M += 1
            result = dividing_judgement(s-t, b)

        print(f"至少使用{M}次a")
请依次输入4个以空格分隔的正整数,分别代表s、t、a、b,其中s>=1,b<=105,a!=b:1 10 5 2
至少使用1次a

http://www.kler.cn/a/531470.html

相关文章:

  • 本地部署DeepSeek-R1模型(新手保姆教程)
  • 大模型领域的Scaling Law的含义及作用
  • 安卓(android)饭堂广播【Android移动开发基础案例教程(第2版)黑马程序员】
  • Kamailio、MySQL、Redis、Gin后端、Vue.js前端等基于容器化部署
  • 电控三周速成计划参考
  • tomcat核心组件及原理概述
  • 在线销售数据集分析:基于Python的RFM数据分析方法实操训练
  • java_String类
  • DeepSeek大模型系列
  • Visual Studio Code应用本地部署的deepseek
  • 高并发、高可用的消息队列(MQ)设计与实战
  • 前端架构师的职责之我见
  • 计算图 Compute Graph 和自动求导 Autograd | PyTorch 深度学习实战
  • 基于STM32的智能安防监控系统
  • Kubernetes常见问答(一)
  • 15 刚体变换模块(rigid.rs)
  • 模型/O功能之提示词模板
  • android java 用系统弹窗的方式实现模拟点击动画特效
  • GPT与Deepseek等数据驱动AI的缺点
  • PythonStyle MVC 开发框架
  • 简单理解精确率(Precision)和召回率(Recall)
  • 轮播库-swiper使用案例
  • CommonJS 和 ES6module 的区别
  • Linux系统下安装配置 Nginx 超详细图文教程
  • 梯度、梯度下降、最小二乘法
  • 快速上手mybatis教程