Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
#include <iostream> using namespace std; void MultPoly(int *, int *, int, int, int *); void printres(int *, int *, int, int, int *); int main() { int pA, pB; int *A, *B, *C; cout << "Stepen pervogo polinoma = "; cin >> pA; cout << "Stepen vtorogo polinoma = "; cin >> pB; A = new int[pA+1]; B = new int[pB+1]; C = new int[pA+pB+1]; int k; for (int i=0; i<=pA-1; i++) { cout << "koefficient pri x^" << pA-i << " polinoma A = "; cin >> k; A[i] = k; } cout << "Svobodnii chlen mnogochlena A = "; cin >> k; A[pA] = k; for (int i=0; i<=pB-1; i++) { cout << "koefficient pri x^" << pB-i << " polinoma B = "; cin >> k; B[i] = k; } cout << "Svobodnii chlen mnogochlena B = "; cin >> k; B[pB] = k; for (int i=0; i<=pA+pB; i++) { C[i] = 0; } MultPoly(A, B, pA, pB, C); system("cls"); printres(A, B, pA, pB, C); return 0; } void MultPoly(int *A, int *B, int pA, int pB, int *C) { // ЭТО ФУНКЦИЯ, КОТОРУЮ ВЫ ДОЛЖНЫ НАПИСАТЬ // A и B - полиномы - сомножители // pA и pB - их порядки // С - полином-результат } void printres(int *A, int *B, int pA, int pB, int *C) { cout << "C = "; if (pA+pB > 1) { if (C[0]!=1) { cout << C[0] << "*x^"; } else { cout << "x^"; } cout << pA+pB; for (int i=1; i<=pA+pB-2; i++) { cout << " + "; if (C[i]!=1) { cout << C[i] << "*x^"; } else { cout << "x^"; } cout << pA+pB-i; } cout << " + " << C[pA+pB-1] << "*x" << " + " << C[pA+pB] << endl; } else{ if(pA+pB==0) cout << C[0] << endl; if(pA+pB==1) cout << C[0]<<"*x" << "+" << C[1] << endl; } }Ввод
Пример ввода
1 1 1 1 1 1
Пример вывода
C = x^2 + 2*x + 1