东华大学OJ 基础85

85 计算多项式的值

作者: Turbo时间限制: 1S章节: 循环

问题描述 :

 

计算并输出当x<0.97时下列多项式的值,直到最后一项的绝对值小于threshold(该项不包括在多项式的结果中)为止。

 

image.png

输入说明 :

 

可输入多组测试数据,每组一行,每组包括两个实数,第一个为x(0.2x <0.97),第二个为threshold(≥0.000001),中间以空格分隔。

 

 

输出说明 :

 对于每组测试数据,输出一行,为计算出的结果,保留6位小数。输出的结果前后均无空格。两组运算结果之间为空行。

输入范例 :

输出范例 :

//分子是numerator,分母是denominator,这俩单词我记住了。

//总的来说,循环类型的题型之一求和,需要掌握的几个数学函数,头文件是<math.h>

                  1、double pow(double x, double y);

                  2、double fabs(double x);    //取绝对值

                      int abs(int x);                  //整形绝对值   ,头文件是 <stdlib.h>

                                                                 3、double sqrt(double x);

 

代码:

#include <stdio.h>
#include <math.h>
int main()
{
    int tag = 0, i;
    double x, threshold, item, sum;
    double power, denominator, numerator;
    while(scanf("%lf %lf", &x, &threshold) != EOF){
            sum = 1;
            i = 1;
            item = 0.5*x;
            //chuli
            while(fabs(item) >= threshold){
                    sum += item;
                    denominator = 1;
                    numerator = 0.5;
                    i++;
                    //chengji
                    power = pow(x, i);
                    //fenmu
                    for(int j = 1; j <= i; j++){
                            denominator *= j;
                    }
                    //fenzi
                    for(int j = 1; j < i; j++){
                            numerator *= (0.5-j);
                    }
                    item = (numerator/denominator)*power;
            }
            if(tag > 0){
                    printf("\n");
                    if(threshold > 1){
                            printf("0.000000\n");
                    }else{
                            printf("%.6lf\n", sum);
                    }
                    tag++;
            }else{
                    if(threshold > 1){
                            printf("0.000000\n");
                    }else{
                            printf("%.6lf\n", sum);
                    }
                    tag++;
            }
    }
    return 0;
}
 
 
posted @ 2020-04-22 18:18  孟浪的博客  阅读(301)  评论(0)    收藏  举报