poj 1289 The Cat in the Hat

大水题一道。

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;


int main(void)
{
    int a,b;
    while(1)
    {
     scanf("%d %d",&a,&b);
     if(a==0&&b==0)
        break;
      int t1,t2,n = 0;
     bool flag = true;
     while(flag)
     {
         ++n;
         t1 = t2 = 1;
         while(t1<a)
         {
          t1 *= (n+1);
          t2 *= n;
         }
        if(t1==a&&t2==b)
        {
         flag = false;
          break;
        }
      }
      int ans1, ans2 = 0;
      if(n==1)
      {
          ans1 = 0;
      }
      else
      {
          ans1 = (b-1)/(n-1) ;
      }

      int tmp1,tmp2 = b;
      tmp1 = 1;
      for(;;)
      {
       ans2 += tmp1*tmp2;
       if(tmp2==1)
          break;
       tmp1 *= n+1;
       tmp2 /= n;
      }
      cout<<ans1<<" "<<ans2<<endl;
    }

    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值