zoukankan      html  css  js  c++  java
  • [刷题] 多项式计算

    1、写一个函数PrintN,使得传入一个N,打印从1到N的全部整数

    #include<stdio.h>
    //循环实现
    void PrintN(int N){
        int i;
        for(i = 1;i<=N;i++){
            printf("%d
    ",i);
        }
        return;
    }
    
    //递归实现
    void PrintN1(int N){
        if(N){
            PrintN1(N-1);
            printf("%d
    ",N);
        }
        return;
    }
    
    int main(){
        int N;
        scanf("%d",&N); 
        PrintN(N);
        return 0;
    }

    2、写程序计算给定多项式在给定点x处的值f(x)=a0+a1*x+...+an-1*x^(n-1)+an*x^n

    将多项式写成如下形式:f(x)=a0+x(a1+x(...(an-1+x(an))...))

    #include <stdio.h>
    #include <time.h>
    #include <math.h>
    
    clock_t start,stop;
    double duration;
    #define MAXN 10    /*多项式次数*/ 
    #define MAXK 1e7    /*被测函数最大重复调用次数*/ 
    double f1(int n,double a[],double x);
    double f2(int n,double a[],double x);
    
    int main(){
        int i;
        double a[MAXN];
        for (i=0;i<MAXN;i++) a[i]=(double)i;
        /*测试f1*/
        start = clock();    /*开始计时*/ 
        for(i=0;i<MAXK;i++)
            f1(MAXN-1,a,1.1);        /*被测试函数*/
        stop = clock();        /*停止计时*/
        duration = ((double)(stop-start))/CLK_TCK/MAXK;
        printf("ticks1 = %f
    ",(double)(stop-start));
        printf("duration1 = %6.2e
    ",duration); 
        /*测试f2*/
        start = clock();
        for(i=0;i<MAXK;i++)
            f2(MAXN-1,a,1.1);    
        stop = clock();
        duration = ((double)(stop-start))/CLK_TCK/MAXK;
        printf("ticks2 = %f
    ",(double)(stop-start));
        printf("duration2 = %6.2e
    ",duration); 
        
        return 0;
    }
    
    double f1(int n,double a[],double x){
        int i;
        double p = a[0];
        for(i = 1;i<=n;i++)
        p+=(a[i]*pow(x,i));
        return p;
    }
    
    double f2(int n,double a[],double x){
        int i;
        double p = a[n];
        for(i = 1;i>0;i--)
        p=a[i-1]+x*p;
        return p;
    }

     结果:

  • 相关阅读:
    内存队列使用Channels
    笔记20210101mongodb
    管道式的开发模式
    企业级应用架构设计
    再入历史旧坑
    路径问题 再次记录
    mongdb驱动的问题
    使用Bumblebee记录
    我和小兔子不得不说的消息v2
    流程设计器jQuery + svg/vml(Demo7
  • 原文地址:https://www.cnblogs.com/cxc1357/p/10604797.html
Copyright © 2011-2022 走看看