A23264. 在奇幻世界“阿尔卡纳”中,年轻的魔法师洛基正在学习符文魔法。魔法师可以将两种基础符文 ——“火符”和“风符”组合在魔杖上,以施展不同强度的法术。火符初始能量为 a 点,风符初始能量为 b 点。 根据古老的魔法规则,这两种符文在施法前需要先进行能量校准:火符的实际强度会变为:x = a + 7(火符吸收环境中的热能)风符的实际强度会变为:y = b − 3(风符释放部分能量稳定自身)校准后…
填空题
容易
知识点
题目描述
题目描述
在奇幻世界“阿尔卡纳”中,年轻的魔法师洛基正在学习符文魔法。魔法师可以将两种基础符文 ——“火符”和“风符”组合在魔杖上,以施展不同强度的法术。
火符初始能量为 a 点,风符初始能量为 b 点。
根据古老的魔法规则,这两种符文在施法前需要先进行能量校准:
火符的实际强度会变为:x = a + 7(火符吸收环境中的热能)
风符的实际强度会变为:y = b − 3(风符释放部分能量稳定自身)
校准后,洛基每次施法只能使用同一种符文(可以多个),不能混合使用不同符文。
例如:
可以选择使用 3 个火符(获得 3x 点强度)
或 2 个风符(获得 2y 点强度)
但不能同时使用火符和风符来获得精确的强度值
洛基的导师告诉他:当两种符文的强度值互质时,总会存在一个最大的魔法强度值,超过这个值的
任何强度都可以通过某种符文组合达到。作为测试,导师要求洛基计算出这个临界强度值。
输入描述
一行包含两个正整数 a 和 b(1 ≤ a, b ≤ 106,保证 a + 7 与 b − 3 互质且 b > 3)。
输出描述
输出一个整数,表示洛基能够达到的临界魔法强度值。
参考答案
#读取输入的初始能量值 a 和 b(题目保证 b>3,即 y>0)
a, b = map(int, input().split())
#计算校准后的符文强度:火符吸收热能 + 7,风符释放能量 - 3
x = a + 7 # 火符实际强度
y = b - 3 # 风符实际强度
#根据数论中的 Frobenius Coin Problem,当 x 和 y 互质时
#最大无法组合出的数值为 (x-1)*(y-1)-1
#原理:两种符文单独或组合使用,无法达到的最大强度值
print((x-1)*(y-1) - 1)
上一题
下一题