51nod 1429 巧克力

水题

#include<bits/stdc++.h>
using namespace std;

int main()
{
	long long a1,a2,b1,b2,sum1,sum2,s1_2,s1_3,s2_2,s2_3,ans;
	while(~scanf("%lld%lld%lld%lld",&a1,&b1,&a2,&b2))
	{
		sum1=a1*b1;
		sum2=a2*b2;
		s1_2=s1_3=s2_2=s2_3=0;
		for(;;)
		{
			if(sum1%2==0)
			{
				sum1/=2;
				s1_2++;
			}
			else if(sum1%3==0)
			{
				sum1/=3;
				s1_3++;
			}
			else
				break;
		} 
		for(;;)
		{
			if(sum2%2==0)
			{
				sum2/=2;
				s2_2++;
			}
			else if(sum2%3==0)
			{
				sum2/=3;
				s2_3++;
			}
			else
				break;
		} 
		if(sum1!=sum2)
		{
			printf("-1\n");
			break;
		}
		ans=0;
		while(s1_3>s2_3)
		{
			s1_3--;
			s1_2++;
			ans++;
		}
		while(s2_3>s1_3)
		{
			s2_3--;
			s2_2++;
			ans++;
		}
		ans+=abs(s1_2-s2_2);
		printf("%lld\n",ans);
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值