Esta questão (leia aqui) é facilmente resolvida se pensarmos no problema como uma divisão, onde C é o dividendo, N é o divisor e o resultado pretendido é o resto.
Leonardo, ao percorrer C metros, fará o circuito da pista completamente X vezes, sendo que o ponto de parada da sua última volta será determinado pela distância que resta correr após as X voltas, ou seja, C−X⋅N, observe que isso é exatamente o resto da divisão de C por N. Portanto, basta imprimir C % M.
Código em C++
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Exercício Corrida OBI 2012 F1N1 | |
#include <cstdio> | |
int main(){ | |
int C,N; | |
scanf("%d %d",&C,&N); | |
printf("%d\n",C%N); | |
return 0; | |
} |