Zadanie
Biorąc pod uwagę dwie dodatnie liczby całkowite, wyprowadza liczbę przeniesień potrzebną do dodania ich razem w długim dodaniu w bazie 10.
Przykłady
¹¹¹ <-- carries
999
+ 1
----
1000
Potrzebne są trzy przewozy.
¹
348
+ 91
----
439
Potrzebny jest jeden bagaż.
Przypadki testowe
999, 1 -> 3
398, 91 -> 1
348, 51 -> 0
348, 52 -> 2
5, 15 -> 1
999, 999 -> 3
505, 505 -> 2
Punktacja
To jest golf golfowy . Najkrótsza odpowiedź w bajtach wygrywa. Obowiązują standardowe luki .
code-golf
arithmetic
Leaky Nun
źródło
źródło
190192, 90909
(ma przerwę w przenoszeniu).9+9
daje18
, ale suma cyfr jest9+9-10+1
spowodowana przeniesieniem.repr
dodawaniemL
liczby powyżej2**63-1
?Odpowiedzi:
Mathematica,
4639 bajtówwkład
-7 bajtów od JungHwan
źródło
JavaScript (ES6), 50 bajtów
Naprawionoskradzione rozwiązanie OwsaWyjaśnienie
Przeprowadź wyjaśnienie
źródło
348 , 52
powinno być2
C (gcc) , 65 bajtów
Wypróbuj online!
źródło
Galaretka ,
13 12 119 bajtów-1 bajt przez przeniesienie matematycznej odpowiedzi Jenny_mathy .
-2 więcej bajtów dzięki lepszemu golfowi: p
Zobacz pakiet testowy .
W jaki sposób?
Moje 12-bajtowe rozwiązanie ...
Łącze monadyczne pobierające parę liczb całkowitych i zwracające liczbę przeniesień jako liczbę całkowitą.
Prawdopodobnie jest jednak krótsza droga!Tam było!Wypróbuj online! lub zobacz pakiet testowy .
W jaki sposób
źródło
D
iS
...Python , 48 bajtów
Wypróbuj online!
Dla każdej wartości miejsca
m=1, 10, 100, ..., 10**99
sprawdza, czy w tej wartości miejsca występuje przeniesienie. Kontrola przepełnieniaa%m+b%m>=m
została skrócona do~a%m<b%m
.Ładniejszy 45-bajtowy wariant, w którym zamiast tego unosi się
a
ib
przesuwa w dółniestety występują problemy z precyzją pływaka.
źródło
a+b<m
jako warunku zakończenia?<=
dłuższy.1e99and
jest paskudny.JavaScript (ES6),
5345 bajtówZaoszczędzono 1 bajt, dodając dodatkową iterację „nic nie rób” dla przeniesień na miejsce 1. Zaoszczędzono 7 bajtów poprzez odpowiednie sprawdzenie przeniesienia @ xnor. Miałem też bardziej elegancką 45-bajtową wersję, ale cierpi na niedokładność zmiennoprzecinkową; świetnie działałoby przetłumaczone na język z dokładną arytmetyką dziesiętną:
źródło
Python 2 , 55 bajtów
Wypróbuj online!
źródło
05AB1E ,
1110 bajtówWypróbuj online!
źródło
|DO‚€SOÆ9÷
na 10 bajtów.Neim , 10 bajtów
Wyjaśnienie:
Spróbuj!
Alternatywne rozwiązanie, również 10 bajtów:
Wyjaśnienie:
Spróbuj!
źródło
PHP> = 7,1, 81 bajtów
-2 Usuwanie bajtów
|0
W tym przypadku pętla działa, dopóki nie$i
zostanieINF
Przypadki testowe
źródło
$i
stanieINF
?1.0E+309
to pierwszaINF
wartość Wypróbuj online!Braingolf , 20 bajtów
Wypróbuj online!
Używa tej samej metody, co wszyscy inni.
Mógłbym zaoszczędzić bajt lub 2, gdybym miał przewidywanie pozwalające
d
na użycie chciwego modyfikatora, wtedy mógłbym zastąpićd<d
go&d
cóż, następnym razem.Wyjaśnienie
źródło