Как найти степень полиномиального уравнения в JavaScript? - PullRequest
0 голосов
/ 08 мая 2018

Я хочу найти степень полиномиального уравнения

den = a^2+a+1

Вывод уравнения должен быть

2

или

den=a^2+a^3+a+1

Выводуравнение должно быть

3

Но я не могу найти правильное решение для JavaScript

1 Ответ

0 голосов
/ 08 мая 2018

Вы можете использовать регулярное выражение, чтобы получить все показатели и вычислить максимум

var r = /a(\^\d)?/g;
var t = 'a^2+a^3+a+1';

var order = t.match(r).reduce((m, d) => {
	var ex = d.split('^')[1];
	if(ex && (ex > m)){
		return ex;
	}
	return m;
},0);

console.log(order); // Logs '3'

Вы также можете сделать то же самое без использования Array.prototype.reduce (использовали простой цикл for и избегали синтаксиса ES6 для простоты)

var r = /a(\^\d)?/g;
var t = 'a^2+a^3+a+1';

var order = 0;

var matches = t.match(r);

for(var i = 0, j = matches.length ; i< j; i++){
  var exp = matches[i].split('^')[1];
  if(exp && (exp > order)){
    order = exp;
  }
}

console.log(order); // Logs '3'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...