una pequeña rana quiere llegar al otro lado del camina. la rana se encuentra en la posiciónX y quiere llegar a una distancia igual o mayor a
Y. la ramita solo puede saltar siempre una distancia D.Se necesita contar el mínimo numero de saltos que necesita la rana para llegar a
Y. se necesita construir una función del tipo:int solution(int X, int Y, int D)
Que dado tres números enteros
X,Y y D , retorne el mínimo numero de saltos hacia una distancia igual o mayor a Y.Como ejemplo daban algo similar a esto:
X = 25
Y = 100
D = 29
La función retornaría 3 porque la ramita hace el siguiente proceso;
- primer salto queda en
(25 + 29)= 54 - segundo salto
(25 + 29 + 29) = 83 - tercer salto
(25 + 29 + 29 + 29) = 112
X,YyDson enteros de rango desde el 1 al 1.000.000.000X ≤ Y- La complejidad debe ser de
O(1)
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int salto(int x,int y,int d);
int main(int argc,char *argv[])
{
printf("saltos :%i\n",salto(atoi(argv[1]),atoi(argv[2]),atoi(argv[3])));
return 0;
}
/**Solucion**/
int salto(int x,int y,int d){
int div,mod;
div=(y-x)/d;
mod=(y-x)%d;
if(0<mod)
return (div+1);
else
return div;
}
Lo pueden compilar así
gcc -W saltos.c -o saltos y ejecutar ./saltos 25 100 29
No comments:
Post a Comment