测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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)
上一题 下一题