多項式求解:
輸入:係數,階數(決定項數),x值
輸出:多項式的值
遞歸本質:可以細分爲小問題(遞),然後小問題累積得出結果(歸)-設計程序時,爲找到出口點,並返回;
實現1:非遞歸;
實現2:遞歸;
*/
#include <stdio.h>
#include <stdlib.h>
#include<iostream>
using namespace std;
int polynomialNorm1(int i,int a[],int x)
{
int sum=a[0]*x+a[1];
for(int j=2;j<i+1;j++)
{
sum=sum*x+a[j];
}
return sum;
}
int polynomialNorm2(int i,int n,int a[],int x)
{
if(n>0)
return a[n]+polynomialNorm2(i,n-1,a,x)*x;
else
return a[n];
}
int main()
{
//非遞歸
int i,a[10],x;
cout<<"x的值"<<endl;
cin>>x;
cout<<"x的階數"<<endl;
cin>>i;
cout<<"多項式中的係數"<<endl;
for(int j=0;j<=i;j++)
cin>>a[j];
int sum=polynomialNorm1(i,a,x);
cout<<sum;
system("pause");
//遞歸
sum=polynomialNorm2(i,i,a,x);
cout<<sum;
return 0;
}