#P1182. 口令循环节
显示设置
本题导航点一下展开
我的笔记
✕
口令循环节
题目背景
试验场的密码锁每天换一次口令。管理员只记得卡片上的两个数字:底数 和模数 。锁里的寄存器每按一次按钮就做一次「乘 再对 取余」,一旦寄存器回到 ,整台锁就会自动重置。管理员想知道,自己最多要按多少次按钮才会看到重置。
题目描述
给定两个正整数 与 ,满足 。请求出最小的正整数 ,使得
如果不存在这样的正整数 ,请输出 -1。
输入格式
一行两个整数 。
输出格式
一行一个整数,表示最小的 ,或者 -1。
输入输出样例 #1
输入 #1
3 7
输出 #1
6
输入输出样例 #2
输入 #2
2 9
输出 #2
6
输入输出样例 #3
输入 #3
6 9
输出 #3
-1
输入输出样例 #4
输入 #4
1 5
输出 #4
1
说明
样例解释
样例 1 中, 除以 的余数依次是 ,都不到 ;,所以最小的 是 。
样例 2 中, 的幂除以 的余数依次为 ,第六次回到 ,因此 。
样例 3 中, 与 的最大公约数是 ,凡是 的幂都能被 整除,不可能除以 余 ,所以输出 -1。
样例 4 中 ,第一次乘完寄存器就已经是 ,。
数据范围
- 对于 的数据,;
- 对于 的数据,;
- 对于 的数据,。