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
,Y
yD
son 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