c语言-勒让德多项式求解+时间测定

#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;

float LRD(int n,double x){
  double s;
  if(n==0) s=1.0;
  else if(n==1) s=x;
  else s=((2*n-1)*x*LRD(n-1,x)-(n-1)*LRD(n-2,x))/n;
  return s;
}

int main(){
  int n;
  double sum,x;
  clock_t start,finish;
  double total;
  cout<<"Please enter an natural number and a real number:"<<endl;
  cin>>n>>x;
  start=clock();
  sum=LRD(n,x);
  finish=clock();
  total=(double)(finish-start);
  cout<<"The value is:"<<sum<<endl;
  cout<<"The time of this running is "<<total<<endl;
  return 0;
}

原文地址:https://www.cnblogs.com/mathstudysharing/p/10500566.html

时间: 2024-11-02 18:52:14

c语言-勒让德多项式求解+时间测定的相关文章

4.18n阶勒让德多项式求解

Q:编写程序,输入正整数n和任意数x,求出勒让德多项式的值Pn(x) #include <iostream> #include<cstdio> using namespace std; float Rand(int n,float x) { if(n==0) return 1; else if(n==1) return x; else return ((2*n-1)*x-Rand(n-1,x)-(n-1)*Rand(n-2,x))/n; } int main() { int n;

C语言之函数调用13—递归法求N阶勒让德多项式的值

//递归法! /* ======================================================= n阶勒让德多项式,n=1时,Pn(x)=x;n>=1时, Pn(x)=((2n-1)x-Pn-1(x)-(n-1)Pn-2(x))/2. ======================================================= */ #include <stdio.h> #include <math.h> double p(

C语言之函数调用14—递归法打印勒让德多项式前N项

//递归法 /* ================================================================== 题目:勒让德多项式 ================================================================== */ #include <stdio.h> double p(int n,double x) { if(n==0)return 1.0; else if(n==1)return x; else

基本递归(1)勒让德多项式

简单概括递归的用法: **找到通顶式,在主函数内调用** /* * Copyright (c) 2016, 北京市QY小学 * All rights reserved. * 作 者: 刘君翼 * 完成日期:2016 年 10 月 11 日 * 版 本 号:v1.0 * 输入描述: * 问题描述: 用递归方法求n阶勒让德多项式的值* 程序输出:* 问题分析:略 * 算法设计:略 */ #include<iostream> using namespace std; int main(){ doub

OJ刷题之《求n阶勒让德多项式》

题目描述 用递归方法求n阶勒让德多项式的值,递归公式为 n=0     pn(x) =1 n=1     pn(x) =x n>1     pn(x) =((2n-1)*x* pn-1(x) -(n-1)* pn-2(x))/n 结果保留2位小数. 输入 n和x的值. 输出 pn(x)的值. 样例输入 2 2 样例输出 5.50 提示 主函数已给定如下,提交时不需要包含下述主函数 /* C代码 */ int main() { int x,n; scanf("%d%d",&

C语言中的系统时间结构体类型

在C语言涉及中经常需要定时触发事件,涉及到获取系统时间,其结构体类型有多种.Unix/Linux系统下有以下几种时间结构: 1.time_t 类型:长整型,一般用来表示从1970-01-01 00:00:00时以来的秒数,精确度:秒:由函数time()获取: 该类型定义在头文件 /usr/include/sys/time.h 中: #define _TIME_T       typedef   long   time_t;             #endif 函数定义:time_t   tim

分享一个R语言的脚本【时间记录】

分享一个R语言的脚本 最近捣弄下一个R语言的脚本,不知道大家有没有看过<奇特的一生>这本书,我高中看了后,高三就山寨了柳比歇夫大神的方法,记录时间开销.个人感觉是挺有用的. 脚本就是把下面的这种excel文件导入并自动转化成饼形图,输出图片到本地. 代码在此: record <- read.table("Book1.csv", header=TRUE,sep=",", fill=TRUE); library(ggplot2); new_sum<

效率对比:各种语言构造100W个时间对象

原本是用perl写了一个通过给定的时间范围来筛选一个比较大的日志文件.但是测试发现筛选130W行日志需要2分多钟,对其中几个低效率函数单独进行了效率测试,发现构造100W个时间对象所花时间也是个大户. 于是,特地比较了几种语言构造100W个时间对象(或时间结构)的性能.以下是结论: Perl(Time::Piece模块):13秒 Python(time模块):8.8秒 Ruby(内置Time类):2.8秒 Ruby(第三方类DateTime):0.9-1秒 Golang(Time包):编译好的0

oracle多语言环境下to_date时间转换问题

现象:在多语言环境下使用过oracle的同学想必都遇到过这样一个问题, date_v date; date_v := to_date('2010/11/16');--或'2010/11/16' 同一个服务器,不同oracle clinet 不一定都行得通. 原因: 不指定转换字符串的情况下,oracle使用既定的格式串进行日期转换操作,执行SELECT * FROM NLS_SESSION_PARAMETERS;察看NLS信息,其中NLS_DATE_FORMAT是当前的格式化日期的格式化字符串.