체인 시계는 다항식 상가를 실현한다
function Node(coef,expon) {
this.coef = coef; //
this.expon = expon; //
this.next = null;
}
List.attach = function(node) {
let current = this.head;
while(current.next) {
current = current.next;
}
current.next = node;
return this;
}
List.add = function(list1,list2) { // list
let list_out = new List(), t1 = list1.head, t2 = list2.head;
console.log(t1,t2);
let current = list_out.head;
while(t1 && t2) {
while(current.next) {
current = current.next;
}
current.next = new Node();
if(t1.expon == t2.expon) {
current.next.expon = t1.expon;
current.next.coef = t1.coef + t2.coef;
t1 = t1.next;
t2 = t2.next;
} else if(t1.expon > t2.expon) {
current.next.expon = t1.expon;
current.next.coef = t1.coef;
t1 = t1.next;
} else {
current.next.expon = t2.expon;
current.next.coef = t2.coef;
t2 = t2.next;
}
}
while(t1) {
while(current.next) {
current = current.next;
}
current.next = new Node();
current.next.expon = t1.expon;
current.next.coef = t1.coef;
t1 = t1.next;
}
while(t2) {
while(current.next) {
current = current.next;
}
current.next = new Node();
current.next.expon = t2.expon;
current.next.coef = t2.coef;
t2 = t2.next;
}
list_out.head = list_out.head.next;
return list_out.head;
}
function List() {
this.head = new Node();
this.attach = List.attach;
this.add = List.add;
}
// 3x^4 - 5x^2 + 6x - 2
// 5x^20 - 7x^4 + 3x
let arr1 = [[3,4],[-5,2],[6,1],[-2,0]]
let list1 = new List();
arr1.forEach((item,index) => {
list1.attach(new Node(item[0],item[1]))
})
list1.head = list1.head.next;
let arr2 = [[5,20],[-7,4],[3,1]]
let list2 = new List();
arr2.forEach((item,index) => {
list2.attach(new Node(item[0],item[1]))
})
list2.head = list2.head.next;
let list_out = list1.add(list1,list2);
let result = '';
while(list_out) {
if(!result) {
result += `(${list_out.coef}x^${list_out.expon})`;
} else {
result += `+(${list_out.coef}x^${list_out.expon})`;
}
list_out = list_out.next;
}
console.log(" = " + result);
// , !
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.