2156.c

来自「杭电的ACM上的一些题目。 1108、2001、2002、2003、2004、」· C语言 代码 · 共 49 行

C
49
字号
/*
Problem Description
我们定义如下矩阵:
1/1 1/2 1/3
1/2 1/1 1/2
1/3 1/2 1/1
矩阵对角线上的元素始终是1/1,对角线两边分数的分母逐个递增。
请求出这个矩阵的总和。 

Input
每行给定整数N (N<50000),表示矩阵为 N*N.当N为0时,输入结束。
 
Output
输出答案,保留2位小数。
 
Sample Input
1
2
3
4
0
 
Sample Output
1.00
3.00
5.67
8.83

*/
#include <stdio.h>

int main()
{
	double sum;
	int n,i;

	while(scanf("%d",&n),n)
	{
		sum=0.0;
		for(i=0;i<n-1;i++)
		{
			sum+=(double)(i+1)*2.0/(n-i);			
		}	
		printf("%.2lf\n",sum+n);
	}

    return 0;
}

⌨️ 快捷键说明

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