⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 再现数值计算里的秦九韶算法
💻
字号:
#include <iostream>
#include <cmath>
//By Albert_W

using namespace std;

int main()
{
	int n;
	int x;
	int result;

	cout << "请输入系数及常数项的总数目n:";
	cin >> n;
	cout << "请输入未知数x=";
	cin >> x;

	int *p = new int[n];

	cout << "请输入" << n-1 << "个系数及1个常数项:" << endl;
	for(int i = n-1 ; i>=0 ; i--)
	{
		cin >> p[i];
	}
	cout << endl;

	cout << "此多项式为:" << endl;
	for (int i = n-1 ; i > 0 ; i--)
	{
		cout << p[i] << "*x^" << i << " + ";
	}
	cout << p[0] << endl;
	
	cout << "根据秦九韶算法可将原多项式化为:" << endl;
	for (int i = n-1 ; i > 0 ; i--)
	{
		cout << p[i] << '*'<< x << '^' << i << " + ";
	}
	cout << p[0] << " = ";

	if (n-2 < 0)
	{
		cout << p[0];
	}
	else if (n == 2)
	{
		cout << p[1] << '*' << x << " + " << p[0];
	}
	else if (n > 2)
	{
		for (int i = n-2 ; i > 0 ; i--)
		{
			cout << '(';
		}
		cout << p[n-1] << '*' << x << " + ";
		for (int i = n-2 ; i > 0 ; i--)
		{
			cout << p[i] << ")*" << x << " + ";
		}
		cout << p[0];
	}
	cout << " = ";
	
	if (n-2 < 0)
	{
		cout << p[0];
	}
	else if (n == 2)
	{
		cout << p[1]*x + p[0];
	}
	else if (n > 2)
	{
		result = p[n-1];
		for (int i = n-1 ; i > 0 ; i--)
		{
			result = (result+p[i])*x;
		}
		result = result+p[0];
		cout << result;
	}
	cout << endl;


	char test;
	cin >> test;

	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -