2651.txt

来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 35 行

TXT
35
字号
Source

Problem Id:2651  User Id:fzk 
Memory:52K  Time:0MS
Language:C++  Result:Accepted

Source 

#include <stdio.h>

double t;

double e( double s, int k ) {
	if( k == 0 )
		return s;
	else {
		double temp = e( 2*s, k-1 );
		double h = s/temp;
		if( t > h )
			return temp*(1-t*t)/2/(1-t);
		else
			return (s*(h-t)+temp*(1-h*h)/2)/(1-t);
	}
}

int main( ) {
	int n;

	while( scanf("%d %lf", &n, &t ) == 2 && n !=0 ) {
		printf( "%.3lf\n", e( 1, n ) );
	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?