DALGLI0/Main.java

54 lines
1.4 KiB
Java
Raw Normal View History

2018-06-07 10:58:40 +02:00
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> A = new ArrayList<>();
ArrayList<Integer> B = new ArrayList<>();
Scanner input = new Scanner(System.in);
System.out.print("Podaj modulo: ");
int m = input.nextInt();
System.out.print("Podaj najwyższą potęgę współczynników A: ");
int n = input.nextInt();
System.out.print("Podaj liczby A: ");
for(int i=0; i<=n; i++){
A.add(input.nextInt());
}
System.out.print("Podaj najwyższą potęgę współczynników B: ");
n = input.nextInt();
System.out.print("Podaj liczby B: ");
for(int i=0; i<=n; i++){
B.add(input.nextInt());
}
mnozenie(A,B, A.size(), B.size(), m);
}
public static void mnozenie(ArrayList<Integer> A, ArrayList<Integer> B, int A_size, int B_size, int modulo){
ArrayList<Integer> wynik = new ArrayList<>();
int[] pr = new int[A_size+B_size-1];
for (int i = 0; i<A_size+B_size-1; i++)
pr[i]=0;
for (int i=0; i<A_size; i++)
{
for (int j=0; j<B_size; j++) {
pr[i + j] += A.get(i) * B.get(j);
}
}
for(int i = 0; i<A_size+B_size-1; i++){
wynik.add(i, pr[i]%modulo);
}
System.out.println( wynik);
}
}