Há uma pergunta no site que pede para implementar a divisão sem usar a divisão.
No meu caso, estou pedindo para você fazer o mesmo, mas apenas usando adição.
O que isso significa é basicamente: adição é o único operador ou função permitida que opera com números e retorna outros números (ou seja, sem subtração, multiplicação, exponenciação, inversão bit a bit, etc.). Coisas como instruções if, operadores de atribuição e comparação e loops ainda são permitidos, desde que dentro desses, você ainda use apenas a adição.
Sua tarefa é construir uma função divide(a, b)que leva dois inteiros positivos ae be retorna o resultado de aser dividido por be arredondado para zero, mas usando adição e há outros operadores aritméticos, e não outras construções de dados, além de números.
O código que vencer será aquele que requer o menor número de operações de adição a serem executadas no conjunto de entradas, onde avaria de 1para 200e bvaria de 1para a.
Para acompanhar isso, você pode criar uma versão alternativa do seu código que substitua todas as instâncias de a + bwith add(a, b)e program addpara incrementar uma add_usedvariável global e retornar a soma dos dois números.