[CodeForces 1141A] Game 23
Posted youpeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[CodeForces 1141A] Game 23相关的知识,希望对你有一定的参考价值。
题目链接:http://codeforces.com/problemset/problem/1141/A
首先,nn一定要是mm的倍数。否则就无法转换,输出-1;
然后令k=.frac{m}{n} ,即k=.frac{m}{n} .
将k 分解质因数,若分解结果是k=.frac{m}{n} ,那答案就是k=.frac{m}{n} 。
如果无法分解成k=.frac{m}{n} ,那么输出-1。
AC代码:
#include <cstdio>
using namespace std;
int main() {
int n,m;
while(scanf("%d%d",&n,&m) != EOF) {
if(m % n != 0) {
puts("-1
");
} else if (n == m) {
puts("0
");
} else {
int k = m / n;
int cnt = 0;
while (k % 2 == 0) {
cnt++;
k /= 2;
}
while (k % 3 == 0) {
cnt++;
k /= 3;
}
if(k != 1) {
puts("-1
");
} else {
printf("%d
",cnt);
}
}
}
return 0;
}
以上是关于[CodeForces 1141A] Game 23的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces Round #416 (Div. 2) 811D Vladik and Favorite Game
Codeforces Round #643 (Div. 2) D. Game With Array(构造)
Codeforces Round #643 (Div. 2) D. Game With Array(构造)
CodeForces 687B Remainders Game
Educational Codeforces Round 73 (Rated for Div. 2) A. 2048 Game