2406: C語言習題 求n階勒讓德多項式
阿新 • • 發佈:2018-02-11
memory pid post 代碼 數據 ref pro 調用函數 end
Submit: 961 Solved: 570
[Submit][Status][Web Board]
2406: C語言習題 求n階勒讓德多項式
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 961 Solved: 570
[Submit][Status][Web Board]
Description
用遞歸方法求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位小數。
Input
n和x的值。
Output
pn(x)的值。
Sample Input
2 2
Sample Output
5.50
HINT
主函數已給定如下,提交時不需要包含下述主函數
/* C代碼 */
int main()
{
int x,n;
scanf("%d%d",&n,&x);
printf("%.2f\n",polya(n,x));
return 0;
}
/* C++代碼 */
int main()
{
int x,n;
cin>>n>>x;
cout<<setiosflags(ios::fixed);
cout<<setprecision(2);
cout<<polya(n,x)<<endl;
return 0;
#include<stdio.h> float polya(int n,int x) { float sum; if(n==0) sum=1; else if(n==1) sum=x; else if(n>1) sum=((2*n-1)*x*polya(n-1,x)-(n-1)*polya(n-2,x))/n; return sum; } int main() { int x,n; scanf("%d%d",&n,&x); printf("%.2f\n",polya(n,x)); return 0; }
註意調用函數的數據類型,因為最後是保留兩位小數輸出的!
2406: C語言習題 求n階勒讓德多項式