首页 > 解决方案 > 请帮我通过递归解决以下问题

问题描述

给定四个整数 A、B、C、D。A 表示极客在 x 轴上的初始位置。在每一步中,如果他站在X,geek可以去X+B或XB。任务是检查geek是否有可能在D步之后恰好到达C。

输入:

  1. 输入的第一行包含一个整数 T,表示测试用例的数量。T 测试用例的描述如下。
  2. 每个测试用例的第一行包含四个空格分隔的整数 A、B、C 和 D。

输出:对于每个测试用例,如果有可能在 D 步中达到 C,则打印“yes”。否则,打印“no”(不带引号)。

约束:

  1. 1 <= T <= 5
  2. -10^9 <= A, C <= 10^9
  3. 1 <= B <= 10^9
  4. 1 <= D <= 15

示例:输入:3 2 3 8 4 -3 1 0 3 -3 1 1 3

输出:是 是 否

标签: recursion

解决方案


我不确定您是否需要针对此问题进行任何递归,这只是检查的问题:

q, r = divmod(int(A - C), B)
q <= D and r == 0

推荐阅读