multiply polynomials
This commit is contained in:
parent
bf3dacbbc6
commit
14bd8e6827
37
Main.java
37
Main.java
@ -97,5 +97,42 @@ public class Main {
|
|||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static LinkedList<Integer> shiftList(LinkedList<Integer> p, int places){
|
||||||
|
|
||||||
|
LinkedList<Integer> result = new LinkedList<Integer>(p);
|
||||||
|
|
||||||
|
if(places == 0) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(; places>0; places--) {
|
||||||
|
result.addFirst(0);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static LinkedList<Integer> polynomialsMultiplication(LinkedList<Integer> p1, LinkedList<Integer> p2){
|
||||||
|
|
||||||
|
// suma dlugosci
|
||||||
|
int amount = p1.size() + p2.size();
|
||||||
|
|
||||||
|
// nowy wielomian bedzie dlugosci sumy poteg wyrazow wiodacych obu tablic -1
|
||||||
|
LinkedList<Integer> result = new LinkedList<Integer>();
|
||||||
|
|
||||||
|
for(int i=0;i<amount-1;i++) {
|
||||||
|
result.add(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// mnozenie
|
||||||
|
for(int i=0; i<p1.size(); i++) {
|
||||||
|
|
||||||
|
for(int j=0; j<p2.size(); j++) {
|
||||||
|
result.set(i+j, (result.get(i+j) + p1.get(i) * p2.get(j)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user