hdu2156 分数矩阵(小组赛I) 水

来源:互联网 发布:stc15单片机最小系统图 编辑:程序博客网 时间:2024/04/30 17:24

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2156

分数矩阵

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 6888    Accepted Submission(s): 4007


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
12340
 

Sample Output
1.003.005.678.83

思路:水题,,,每一行的分母都是i*(n-i+1)*2

代码:

#include<iostream>    #include<stdlib.h>    #include<stdio.h>    #include<cmath>    #include<algorithm>    #include<string>    #include<string.h>    #include<set>    #include<queue>    #include<stack>    #include<functional>     using namespace std;double sum = 0;int main() {int n;while (scanf("%d", &n) && n) {sum = 0;int i;sum += n;for (i = 2; i <= n; i++) {sum += 1.0 / i*(n - i + 1) * 2;}printf("%.2lf\n", sum);}//system("pause");return 0;}


0 0