程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> UVa 107 帽子裡的貓

UVa 107 帽子裡的貓

編輯:C++入門知識

/*

* 解題思路:

* 題意: 輸入最開始的貓的高度和最後干活貓的數量 , 求有多少只貓不用干活和所有貓的高度和是多少

* 把題意理清就好( 設 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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved