HDU2156 分数矩阵【水题】【递推】
来源:互联网 发布:学大数据能找到工作嘛 编辑:程序博客网 时间:2024/05/21 09:43
分数矩阵
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4769 Accepted Submission(s): 2882
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
Author
Wiskey
Source
2008信息工程学院集训队——选拔赛
题目大意:给你一个定义的分数矩阵(如上所示),求它各项上的分数的和。
思路:直接算太麻烦,找规律来解决。
思考N=1,N=2,N=3的情况。
1/1 1/1 1/2 1/1 1/2 1/3
1/2 1/1 1/2 1/1 1/2
1/3 1/2 1/1
多了右下角的那一块。通过找规律发现:右下角都为1,除了1之外,是1/2 + 1/3 + … + 1/N的二倍。
这样直接递推就可以了。用num来计算2倍的1/2 + 1/3 + … + 1/N。用数组a[]来计算结果。
#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>using namespace std;double a[50010];int main(){ double num = 0; for(int i = 1; i <= 50000; ++i) { if(i == 1) a[i] = 1; else { num += 2.0/i; a[i] = a[i-1] + num + 1; } } int N; while(cin >> N && N) { printf("%.2lf\n",a[N]); } return 0;}
0 0
- HDU2156 分数矩阵【水题】【递推】
- HDU2156 分数矩阵【数学计算+水题】
- HDU2156 分数矩阵
- hdu2156 分数矩阵(小组赛I) 水
- 递推---分数矩阵
- HDU水题 分数矩阵
- HDU 2156 分数矩阵 (水题)
- Hdu-2156-分数矩阵 [水题]
- HDOJ 2156 分数矩阵(水题)
- 分数矩阵
- 分数矩阵
- 分数矩阵
- 分数矩阵
- 分数矩阵
- 递推+矩阵快速幂
- 矩阵快速幂+递推
- POJ2663(矩阵+递推)
- nyoj 301 递推求值(矩阵递推)
- scala 读雷达数据文件,生成png
- UVA 10154 Weights and Measures(dp)
- 设计模式开篇-设计原则
- [3D理论] 关于unity中的update、Lateupdate和FixedUpdate
- 基于 UML 的业务建模举例
- HDU2156 分数矩阵【水题】【递推】
- php中的设计模式之--命令模式
- “Ceph浅析”系列之一——前言
- android 重启 adb 遇到 Make sure the plugin is properly configured
- 饿了么、百度、美团外卖,网上订餐成为白领用餐的新趋势
- should be mapped with insert="false" update="false"
- const和define
- 字符串形式十六进制数转换
- Linux 命令-mpstat -P ALL