scala> Main.main(Array())
350000000000000000
scala> object Main {
|
| def half[T:Integral](a:T) : T = a / 2.asInstanceOf[T]
| def odd[T:Integral](a:T) : Boolean = a % 2.asInstanceOf[T] == 1.asInstanceOf[T]
|
| def mult_acc11[T:Integral](n:T, a:T, r:T = 0) : T = (odd(n), n) match {
| case (true, 1) => r + a
| case (true, _) => mult_acc11(half(n), a + a, r + a)
| case (_,_) => mult_acc11(half(n), a + a, r)
| }
|
| def main(args: Array[String]): Unit = {
| println(mult_acc11(7, 5))
|
| // println(mult_acc11(BigInt(700000000), BigInt(500000000)))
| // missing argument for parameter evidence$3 of method mult_acc11 in object Main: (implicit evidence$3: Integral[Matchable]): Matchable
|
| println(mult_acc11(BigInt(700000000), BigInt(500000000), BigInt(0)))
| }
| }
// defined object Main
scala> Main.main(Array())
35
java.lang.ClassCastException: class java.lang.Integer cannot be cast to class scala.math.BigInt (java.lang.Integer is in module java.base of loader 'bootstrap'; scala.math.BigInt is in unnamed module of loader java.net.URLClassLoader @667e34b1)
at scala.math.Numeric$BigIntIsIntegral$.rem(Numeric.scala:49)
at scala.math.Integral$IntegralOps.$percent(Integral.scala:24)
at rs$line$11$Main$.odd(rs$line$11:4)
at rs$line$11$Main$.mult_acc11(rs$line$11:6)
at rs$line$11$Main$.main(rs$line$11:18)
... 34 elided
Проблема в том, что данные идут в разнобой и отсортировать их приведя к одному виду не получается.
Отсюда вопрос, можно ли написать цикл, который бы проверял кажую строку и при условии равенства имени, даты и номера раунда производил вычисление.
Звучит так. Был солнечный день и все было хорошо. Потом я решил резко выпрыгнуть из окна.
Где вообще в твоём тексте какое-то целеполагание? Ты скачивал ЗАЧЕМ?