多项式求和

多项式求和

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,要求输出多项式前n项的和。每个测试实例的输出占一行,结果保留2位小数。

sample_input

2
1 2

sample_output

1.00
0.50
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int m,n,i,j;
    double ans;
    while(scanf("%d",&m)!=-1)
    {
        for(i=1;i<=m;i++)
        {
            scanf("%d",&n);
            ans=1;
            if(n==1)
            printf("%.2lf\n",ans);
            if(n>=2)
            {
                for(j=2;j<=n;j++)
                {
                    if(j%2==0)
                    ans=ans-(1.0/j);//要写成1.0而不是1
                    if(j%2==1)
                    ans=ans+(1.0/j);//要写成1.0而不是1
                }
             printf("%.2lf\n",ans);
            }
        }
    }
    return 0;
}
时间: 2024-10-20 18:33:02

多项式求和的相关文章

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

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

本文针对数据结构基础系列网络课程(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[

【算法导论】多项式求和

普通情况下,一元n次多项式可写成: 当中,pi是指数为ei的项的非零系数,且满足 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGVuZ3dlaXR3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > 因此.我们能够採用线性表(定义:线性表是由n个数据元素构成的有限序列,比方数组.向量.链表等等)来表示: watermark/2/text/aHR