Tarefa
Dados dois números inteiros positivos, produza o número de carregamentos necessários para adicioná-los em adição longa na base 10.
Exemplos
¹¹¹ <-- carries
999
+ 1
----
1000
São necessários três carregamentos.
¹
348
+ 91
----
439
É necessário um transporte.
Casos de teste
999, 1 -> 3
398, 91 -> 1
348, 51 -> 0
348, 52 -> 2
5, 15 -> 1
999, 999 -> 3
505, 505 -> 2
Pontuação
Isso é código-golfe . A resposta mais curta em bytes vence. Aplicam-se brechas padrão .
code-golf
arithmetic
Freira Furada
fonte
fonte
190192, 90909
(tem uma interrupção no transporte).9+9
fornece18
, mas a soma dos dígitos é9+9-10+1
porque existe um carry.repr
acréscimo de umL
para números acima2**63-1
?Respostas:
Mathematica,
4639 bytesentrada
-7 bytes de JungHwan
fonte
JavaScript (ES6), 50 bytes
Corrigido oroubo da solução ovsExplicação
Carregar explicação
fonte
348 , 52
deve ser2
C (gcc) , 65 bytes
Experimente online!
fonte
Geléia ,
13 12 119 bytes-1 byte, portando a resposta matemática de Jenny_mathy .
-2 bytes a mais de golfe melhor: p
Veja a suíte de testes .
Quão?
Minha solução de 12 bytes ...
Um link monádico que pega um par de números inteiros e retorna o número de carrega como um inteiro.
Provavelmente existe uma maneira mais curta!Houve!Experimente online! ou veja a suíte de testes .
Quão
fonte
D
eS
...Python , 48 bytes
Experimente online!
Para cada valor de posição
m=1, 10, 100, ..., 10**99
, verifica se há uma carga nesse valor de posição. A verificação de estouroa%m+b%m>=m
é reduzida para~a%m<b%m
.Uma variante melhor de 45 bytes, onde flutua
a
eb
desloca para baixoinfelizmente corre para problemas de precisão de flutuação.
fonte
a+b<m
como sua condição final?<=
que é mais longo.1e99and
é desagradável.JavaScript (ES6),
5345 bytesEconomizou 1 byte adicionando uma iteração extra de não fazer nada para carrega no lugar de 1. Economizou 7 bytes apropriando a verificação de transporte do @ xnor. Eu também tinha uma versão mais elegante de 45 bytes, mas sofre de imprecisão de ponto flutuante; funcionaria muito bem traduzido para um idioma com aritmética decimal exata:
fonte
Python 2 , 55 bytes
Experimente online!
fonte
05AB1E ,
1110 bytesExperimente online!
fonte
|DO‚€SOÆ9÷
por 10 bytes.Neim , 10 bytes
Explicação:
Tente!
Solução alternativa, também 10 bytes:
Explicação:
Tente!
fonte
PHP> = 7.1, 81 bytes
-2 Bytes remoção
|0
Neste caso, o laço é executado até que$i
sejaINF
Casos de teste
fonte
$i
tornaINF
?1.0E+309
é o primeiroINF
valor Experimente online!Braingolf , 20 bytes
Experimente online!
Usa o mesmo método que todos os outros.
Poderia ter salvo um byte ou 2, se eu tivesse a previsão de permitir o
d
uso do modificador ganancioso, então poderia ter substituídod<d
por um&d
ah, da próxima vez.Explicação
fonte