HDUOJ 2011 多项式求和
来源:互联网 发布:mac开机后怎么换系统 编辑:程序博客网 时间:2024/06/05 17:18
问题 A: 多项式求和
时间限制: 1 Sec 内存限制: 32 MB提交: 67 解决: 39
[提交][状态][讨论版]
题目描述
多项式的描述如下:
1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...
现在请你求出该多项式的前n项的和。
1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...
现在请你求出该多项式的前n项的和。
输入
输入数据由2行组成,首先是一个正整数m(m<100),表示测试实例的个数,第二行包含m个正整数,对于每一个整数(不妨设为n,n<1000),求该多项式的前n项的和。
输出
对于每个测试实例n,要求输出多项式前n项的和。每个测试实例的输出占一行,结果保留2位小数。
样例输入
21 2
样例输出
1.000.50
提示
学长用的预处理只算一遍 省时一点 时间复杂度为O(1)
#include<stdio.h>int main(){//预处理最舒服,时间复杂度为O(1) double ans[1005];//不用纠结用float还是double,一步到位用精度更高的double。 double m=1,temp=1,cnt=2;ans[1]=1; for(int i=2;i<1000;i++){temp=m/cnt;if(i%2)//奇数{ans[i]=ans[i-1]+temp;} else{ans[i]=ans[i-1]-temp;}cnt++;}int t,n;scanf("%d",&t);while(t--){scanf("%d",&n);printf("%0.2lf\n",ans[n]);}return 0;}
#include<stdio.h>double fun(int n){ int flag=1,temp=1; double sum=0,Z; while(n--) { sum+=flag*(1.0/temp); temp++; flag=-flag; } return sum;}int main(){ int m,n; scanf("%d",&m); for(int i=0;i<m;i++) { scanf("%d",&n); double x=fun(n); printf("%.2lf\n",x); } return 0;}
阅读全文
0 0
- HDUOJ 2011 多项式求和
- hdu 2011 多项式求和
- ZOJ 2011 多项式求和
- 2011 多项式求和
- 2011 多项式求和
- HDU 2011 多项式求和
- HDU:2011多项式求和
- HDU 2011 多项式求和
- hdu-2011-多项式求和
- 多项式求和(2011)
- HDU 2011 多项式求和
- [hdu 2011] 多项式求和
- 2011 多项式求和
- HUDJ 2011 多项式求和
- 多项式求和(2011)
- HDOJ 2011 多项式求和
- HDU 2011 多项式求和
- HDU 2011 多项式求和
- 数据库不允许保存更改
- POJ 1383 Labyrinth (技巧BFS)
- 大小端
- leetcode --16. 3Sum Closest
- 数据结构-树
- HDUOJ 2011 多项式求和
- 1051: 平方根的和
- html 常用知识点
- 2017年多校联合训练 第七场(杭二中)
- [leetcode] 31. Next Permutation
- ZOJ2110 HDU1010 搜索 Tempter of the Bone
- 单例模式
- 杭电暑期多校集训—Kolakoski
- nginx快速查看配置文件的方法