Решение на Дигитален корен от Николай Захаров
Обратно към всички решения
Към профила на Николай Захаров
Резултати
- 20 точки от тестове
- 1 бонус точка
- 21 точки общо
- 6 успешни тест(а)
- 0 неуспешни тест(а)
Код
Лог от изпълнението
Compiling solution v0.1.0 (/tmp/d20200111-2173579-2rhikr/solution)
Finished test [unoptimized + debuginfo] target(s) in 2.96s
Running target/debug/deps/solution-a73e64ec87929bd0
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Running target/debug/deps/solution_test-38971695424b36d5
running 6 tests
test solution_test::test_binary ... ok
test solution_test::test_decimal_basic ... ok
test solution_test::test_hex_basic ... ok
test solution_test::test_invalid ... ok
test solution_test::test_octal_basic ... ok
test solution_test::test_zeroes ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Doc-tests solution
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
История (1 версия и 4 коментара)
Николай качи първо решение на 04.11.2019 19:58 (преди почти 6 години)
Хитро решение с enum -- не се бях сетил, че можеш после да го конвертираш до число чрез
as
оператора. Това има доста смисъл в контекста на задачата и лесно interface-ва с вградените функции, които приемат число за бройна система.Тези два блока код могат да се възползват от това, че функцията връща
Option
и оператора?
работи заOption
:По-компактно е, макар че може да се направи аргумент че е по-малко ясно. Still, избягва употреба на
unwrap
.Променливата
sum
няма нужда да бъде дефинирана извън цикъла. Единственото състояние, което поддържаш еstr_sum
, числовата променлива може да си бъде декларирана вътре в loop-а.