/*
* 解题思路:
* 此题如果是一道数学题,可能大家一下就能想到用取对数来解,换成编程题后,一时半会没有想出来!!
*/
#include <math.h> #include <stdio.h> int main( ) { int n; int i; int x,y=2; double tmp,sum; while( scanf("%d",&n ) && n ) { x = (n-1960)/10; tmp = pow( 2 , x+y )*log(2); for( i=1,sum=0;;i++ ) { sum += log( i ); if( sum > tmp ) break; } printf("%d\n",i-1); } }
原文:http://blog.csdn.net/u011886588/article/details/19238121