week10作業題 A 簽到題

2021-10-05 18:51:56 字數 918 閱讀 7423

東東在玩遊戲「game23」。

在一開始他有乙個數字n,他的目標是把它轉換成m,在每一步操作中,他可以將n乘以2或乘以3,他可以進行任意次操作。輸出將n轉換成m的操作次數,如果轉換不了輸出-1。

input

輸入的唯一一行包括兩個整數n和m(1<=n<=m<=5*10^8).

output

輸出從n轉換到m的操作次數,否則輸出-1.

****** input 1

120 51840

****** output 1

7****** input 2

42 42

****** output 2

0****** input 3

48 72

****** output 3

-1

在這個題目中,如果m不能整除n則說明不論將n乘2或乘3多少次都無法轉化為m,所以直接輸出-1。否則將m除以n,然後不斷滴對3和2求餘,每次求餘ans++,最後如果m 不等於1的話還是無法轉化。

#include

using

namespace std;

#define _for(i,a,b) for(int i = (a); i < (b); i++)

#define _rep(i,a,b) for(int i = (a); i <= (b); i++)

int n,m,ans;

intmain()

m /= n;

while

(m%3==0

)while

(m%2==0

)if(m !=1)

ans =-1

; cout << ans << endl;

}

簽到題 Week10作業A題

東東在玩遊戲 game23 在一開始他有乙個數字n,他的目標是把它轉換成m,在每一步操作中,他可以將n乘以2或乘以3,他可以進行任意次操作。輸出將n轉換成m的操作次數,如果轉換不了輸出 1。輸入 輸入的唯一一行包括兩個整數n和m 1 n m 5 10 8 輸出 輸出從n轉換到m的操作次數,否則輸出 ...

week10 作業A 簽到題

東東在玩遊戲 game23 在一開始他有乙個數字n,他的目標是把它轉換成m,在每一步操作中,他可以將n乘以2或乘以3,他可以進行任意次操作。輸出將n轉換成m的操作次數,如果轉換不了輸出 1。input 輸入的唯一一行包括兩個整數n和m 1 n m 5 10 8 output 輸出從n轉換到m的操作次...

WEEK10 作業 A 簽到題

東東在玩遊戲 game23 在一開始他有乙個數字n,他的目標是把它轉換成m,在每一步操作中,他可以將n乘以2或乘以3,他可以進行任意次操作。輸出將n轉換成m的操作次數,如果轉換不了輸出 1。輸入的唯一一行包括兩個整數n和m 1 n m 5 10 8 輸出從n轉換到m的操作次數,否則輸出 1.120 ...