您的位置:首页 > 其它

分数矩阵

2014-12-31 18:30 176 查看


分数矩阵

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 4620 Accepted Submission(s): 2796



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()
{
	int n,i;
	double sum;
	while (scanf("%d",&n)&&n!=0)
	{
		sum=0;
		for (i=n;i>=2;i--)
		{
			sum+=1.0/i*(n-i+1);
		}
		sum*=2;
		sum+=n;
		printf("%.2lf\n",sum);

	}
}


其实这个很简单的,找出规律就可以了!
1 2 3 4
2 1 2 3
3 2 1 2
4 3 2 1
当n等与2时 2个2
当n等与3时 4个2,2个3

当n等于4时 2个4,4个3,6个2
最后n时几就有几个1,这个规律你发现了吗?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: