您的位置:首页 > 其它

HDU2156 分数矩阵【数学计算+水题】

2017-07-23 19:16 253 查看

分数矩阵

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

Total Submission(s): 7729    Accepted Submission(s): 4460

[align=left]Problem Description[/align]
我们定义如下矩阵:

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

Author
Wiskey
Source
2008信息工程学院集训队——选拔赛

问题链接HDU2156 分数矩阵

问题简述:参见上文。

问题分析:这是一个计算程序,需要将矩阵分为对角线和三角部分,然后分别计算。

程序说明:(略)
题记:(略)

AC的C语言程序如下:

/* HDU2156 分数矩阵 */

#include <stdio.h>

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

while(scanf("%d", &n) != EOF && n) {
/* 斜对角和 */
sum = n;        /* n * 1 */

/* 下三角与上三角之和:1/i的数量 */
for(i=2; i<=n; i++)
sum += 1.0 / i * (n - i + 1) * 2;

printf("%.2lf\n", sum);
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: