HDOJ-2011 多项式求和

Problem Description

多项式的描述如下:
1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...
现在请你求出该多项式的前n项的和。

Input

输入数据由2行组成,首先是一个正整数m(m<100),表示测试实例的个数,第二行包含m个正整数,对于每一个整数(不妨设为n,n<1000),求该多项式的前n项的和。

Output

对于每个测试实例n,要求输出多项式前n项的和。每个测试实例的输出占一行,结果保留2位小数。

Sample Input

2

1 2

Sample Output

1.00

0.50

代码实现:

#include<stdio.h>
int main()
{
    int m,i,j,a[100];
    double s;
    scanf("%d",&m);
    for(i=0;i<m;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=0;i<m;i++)
    {
        s=0;
        for(j=1;j<=a[i];j++)
        {
            if(j%2!=0)
                s=s+1.0/j;
            else
                s=s-1.0/j;
        }
        printf("%.2lf\n",s);
    }

    return 0;
}

1.在习惯之前几道题的输入格式后,对2011有些不适应。

2.其实,水题就是:头+初始化+输入+方法+输出。

时间: 2024-10-14 00:49:04

HDOJ-2011 多项式求和的相关文章

hdu 2011 多项式求和

多项式求和 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 52871    Accepted Submission(s): 30814 Problem Description 多项式的描述如下: 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ... 现在请你求出该多项式的前n项的和. Input 输入数据由2行组

多项式求和 AC 杭电

多项式求和 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 50228    Accepted Submission(s): 29277 Problem Description 多项式的描述如下: 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ... 现在请你求出该多项式的前n项的和. Input 输入数据由2行组

链表实现多项式求和求积

#include <iostream> #include <cstdio> #include<cstdlib> using namespace std; struct Node { double coef; int expn; Node *next; }; void CreatPolynomial(Node *&head, int n) // 生成带表头结点的单链表,除头结点外另生成n个结点 { head = (Node *)malloc(sizeof(Node

多项式求和

多项式求和 Problem : 420 Time Limit : 1000ms Memory Limit : 65536K description 多项式的描述如下: 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ... 现在请你求出该多项式的前n项的和. input 输入数据由2行组成,首先是一个正整数m(m<100),表示测试实例的个数,第二行包含m个正整数,对于每一个整数(不妨设为n,n<1000),求该多项式的前n项的和. output 对于每个测试实例n,要求输

数据结构实践——链表:多项式求和

本文针对数据结构基础系列网络课程(2):线性表的实践项目. [项目 - 多项式求和] 用单链表存储一元多项式,并实现两个多项式的加法. 提示: 1.存储多项式的数据结构 多项式的通式是pn(x)=anxn+an?1xn?1+...+a1x+a0.n次多项式共有n+1项.直观地,可以定义一个数组来存储这n+1个系数.以多项式p(x)=?3.4x10?9.6x8+7.2x2+x为例,存储这个多项式的数组如下图: 可以看出,这种方案适合对某些多项式的处理.但是,在处理一些次数高但项数少的多项式时,存在

poj 2094 多项式求和。

1 /** 2 给出多项式 p(x) = an*x^n + an-1*x^(n-1)..... + a1*x + a0; 3 给定n,l,k,m 计算 x 从 l到 l+k-1 的p(x)的后m 位的平方的和 4 5 用差分序列 ,先计算出前 n项 构造出差分表..后边的k-n个 用递推可得,从下往上递推. 6 **/ 7 8 import java.math.BigInteger; 9 import java.util.Scanner; 10 11 public class Main { 12

2504(多项式求和)

明明很简单,我却错了N++遍,主要原因是在于自己,给自己测试数据时,忘了测大数据,因为只保留小数点后两位,而200以后的数都是0.69. #include <iostream>#include <stdio.h>#include <string.h>#include <stdlib.h>using namespace std;int main(){ double a[1001]; double t; int n,tt; a[0]=0; a[1]=1; for

C算法与数据结构-线性表的应用,多项式求和---ShinePans

/*---上机作业作业,二项式加法---*/ /*---By 潘尚 ---*/ /*---日期: 2014-5-8 . ---*/ /*---题目:---*/ //假设有两个稀疏多项式A和B,设计算法完成下列任务 //1.输入并建立多项式A和B; //2.求两个多项式的和多项式C; //3.求两个多项式的积多项式D; //输出4个多项式A,B,C,D; #include <stdio.h> #include <stdlib.h> #include <string.h>

稀疏多项式求和问题

给定稀疏多项式P和Q,设计实现多项式求和的算法.要求: (1)将结果放入多项式P之中, (2)不允许使用链表, (3)设计2种不同的算法,并分析两种算法的时间和空间复杂性. 方法1: 1 #include <stdio.h> 2 struct poly{ /*构建结构体,含有系数coeff和幂数expo*/ 3 int coeff; 4 int expo; 5 }; 6 int readPoly(struct poly p[10]); 7 int addPoly(struct poly p1[

2011.多项式求和

#include<stdio.h> int main(){          int a=1,b=1,n,i;          int arr[]={1};          float s=arr[0];          scanf("%d",&n);          for(i=1;i<n;i++){                    b+=1;                    arr[i]=a/b;