/*
* 解題思路:
* 題意: 輸入最開始的貓的高度和最後干活貓的數量 , 求有多少只貓不用干活和所有貓的高度和是多少
* 把題意理清就好( 設 H , M為輸入的兩個值 , K為產生了多少代 , N為每代產生多少只貓 )
* N ^ k = M , H * ( 1/( N+1 ) ) ^K = 1;
* K = log( M ) / log( N ) = log( H ) / log( N+1 );
* N從1開始遍歷,直到上面兩個等式相減絕對值小於1e-10 則找到N值
* 然後即可求出K值,最後做些相加運算即可
*/
#include#include int main( ) { int i,m,n,sum1,sum2,num,tmp,x; while( scanf("%d%d",&m,&n) && m && n ) { num = 1; while( fabs( log(num)/log( num+1 ) - log( n )/log( m ) ) > 1e-10 ) num++; x = (int)(log( m )/log( num+1 )+0.5); sum1 = sum2 = 0; for( i=0;i