Size: a a a

2020 December 13

AP

Aleksei (astynax) Pi... in Haskell Start
Я про неё вообще не знаю, поэтому пока не сделал вторую часть :)
источник

A

Aragaer in Haskell Start
а, ну это примерно дословно и есть условие второй части
источник

TZ

Timofey Zakrevskiy in Haskell Start
Адвент пару раз предупреждал, что числа в ответе огрооооомные
источник

TZ

Timofey Zakrevskiy in Haskell Start
Ни разу Int не сумел переполнить
источник

TZ

Timofey Zakrevskiy in Haskell Start
Aragaer
ух, во второй части получил неправильный ответ, потому что Int-а не хватило
Это что ж у тебя за busId такие?
источник

A

Aragaer in Haskell Start
сами айдишники не очень большие, кроме 937
источник

A

Aragaer in Haskell Start
я не уверен, что ответ именно что переполняет инт, просто там в процессе вычислений требуются более крупные числа
источник

TZ

Timofey Zakrevskiy in Haskell Start
Всё же происходит в кольце вычетов по модулю M, где M - произведение busId
источник

TZ

Timofey Zakrevskiy in Haskell Start
Явно же M*1000 < maxBound :: Int
источник

A

Aragaer in Haskell Start
1580474113660429
источник

A

Aragaer in Haskell Start
произведение
источник

TZ

Timofey Zakrevskiy in Haskell Start
~10E16, грубо говоря
источник

A

Aragaer in Haskell Start
ну да, если на 1000 умножить, то в 8 байт укладывается
источник

A

Aragaer in Haskell Start
но там в процессе вычислений есть сумма из трех слагаемых, каждое из которых это произведение четырех чисел. Думаю, что там могло случиться переполнение
источник

TZ

Timofey Zakrevskiy in Haskell Start
А maxBound для интов почти 10E19
источник

TZ

Timofey Zakrevskiy in Haskell Start
Я, значит, другим способом решение искал
источник

A

Aragaer in Haskell Start
я просто с гитхаба взял какую-то реализацию вычисления этих остатков
источник

A

Aragaer in Haskell Start
у меня получился ответ 62092385719161 на выходе, а настоящий 626670513163231
источник

TZ

Timofey Zakrevskiy in Haskell Start
Я с Википедии скопипастил. Первый курс ТЧ давно был
источник

A

Aragaer in Haskell Start
источник