saurav_kalsoor

Complex Multiplication - KOTLIN

Jul 26th, 2021 (edited)
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.06 KB | None | 0 0
  1. package com.company
  2.  
  3. import java.util.*
  4.  
  5. fun main() {
  6.     val sc = Scanner(System.`in`)
  7.     val n = sc.nextInt()
  8.     val real = ArrayList<Long>()
  9.     val imaginary = ArrayList<Long>()
  10.     for (i in 0 until n) {
  11.         val num = sc.nextLong()
  12.         real.add(num)
  13.     }
  14.     for (i in 0 until n) {
  15.         val num = sc.nextLong()
  16.         imaginary.add(num)
  17.     }
  18.     val result = multiplyComplexNumbers(real, imaginary, n)
  19.     println(result[0].toString() + " + (" + result[1] + ")i")
  20. }
  21.  
  22. fun multiplyComplexNumbers(real: ArrayList<Long>, imaginary: ArrayList<Long>, n: Int): ArrayList<Long> {
  23.  
  24.     var result = ArrayList<Long>()
  25.     result.add(1)
  26.     result.add(0)
  27.     for (i in 0 until n) {
  28.         result = multiply(result[0], result[1], real[i], imaginary[i])
  29.     }
  30.     return result
  31. }
  32.  
  33. fun multiply(a: Long, b: Long, x: Long, y: Long): ArrayList<Long> {
  34.     // ax - by + i(bx + ay)
  35.     val MOD: Long = 1000000007
  36.     val result = ArrayList<Long>()
  37.     result.add((a * x - b * y) % MOD)
  38.     result.add((b * x + a * y) % MOD)
  39.     return result
  40. }
Add Comment
Please, Sign In to add comment