一個多項式a+b*x+c*x^2+d*x^3+...,輸入該多項式的係數和x的值後打印出這個多項式的值。

實現一個多項式a+b*x+c*x^2+d*x^3+...,要求輸入該多項式的係數和x的值後打印出這個多項式的值。(實際上就是遞歸)。

n=0時:

num[0]

n=1時:

num[0]+num[1]*x;

n=2時:

num[0]+(num[1]+num[2]*x)*x;

#include <iostream>
using namespace std;
int temp,n,x;
int num[1000];
int fun(int m)
{
	if(m==0)
	{
		temp=1;
		return num[m]+fun(1); 
	}
	else if(m==n)
	{
		temp=temp*x;
		return num[m]*temp;
	}
	else 
	{
		temp=temp*x;
		return num[m]*temp+fun(m+1);
	}
}
int main()
{
	while(1)
	{
		cout<<"請輸入最高次項的次數:"<<endl;
		cin>>n;
		cout<<"請輸入各個項的係數:"<<endl;
		for(int i=0;i<=n;++i)
			cin>>num[i];
		cout<<"請輸入x:"<<endl;
		cin>>x;
		if(n==0)
		{
			cout<<"結果:"<<num[0]<<endl;
			break;
		}
		cout<<"結果:"<<fun(0)<<endl;
	}
	return 0;

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章