UVa 550 移位乘法

2014-11-24 09:16:09 · 作者: · 浏览: 0

/*

* 解题思路:

* 题意: 给出三个数字,分别是数位基数 , 第一个乘数的最后一位 , 第二个乘数,求第一个乘数的长度

* 就是转换进制的思想解题

*/



#include  
  
   
int main( )
{
    int x,y,z;
    int sum,mod,m,total;
    while( ~scanf("%d%d%d",&x,&y,&z) )
    {
        if( y !=0 )
        {
            total = m = sum = 0;
            mod = y;
            while( sum != y )
            {
                sum = z * mod + m;
                m = sum / x;
                mod = sum % x;
                total++;
            }
            printf("%d\n",total);
        }
        else
            printf("1\n");
    }
    return 0;
}