試題 演算法提高 遞回
資源限制
時間限制:1.0s 記憶體限制:256.0MB
問題描述
當x>1時,Hermite多項式的定義見第二版教材125頁。使用者輸入x和n,試編寫「遞回」函數,輸出對應的Hermite多項式的值。其中x爲float型,n爲int型。
輸入格式
x n
輸出格式
對應多項式的值
樣例輸入
一個滿足題目要求的輸入範例。
例:
1.8 7
樣例輸出
與上面的樣例輸入對應的輸出。
例:
-987.857
數據規模和約定
x>1
n爲自然數
#include<stdio.h>
float fac(float x, float n) {
if (n == 0) return 1;
if (n == 1) return 2 * x;
return (2.0 * x * fac(x, n - 1) - 2.0 * (n - 1) * fac(x, n - 2));
}
int main(){
float x,n;
scanf("%f%f",&x,&n);
if(n>5){
printf("%.3f",fac(x,n));
}else printf("%.2f",fac(x,n));
return 0;
}