Enviar | Todos los envíos | Mejores soluciones | Atrás a la lista |
O11_REST - El Resto |
Los números de Fibonacci se genera con la ecuación: fn = fn-1 + fn-2 La lista de números generados por esta secuencia son 1, 1, 2, 3, 5, 8, 13, 21, ... etc. Los primeros números de esta secuencia se definen como sigue: +--------+---+---+---+---+---+---+----+----+ | i | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | +--------+---+---+---+---+---+---+----+----+ | Fib(i) | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | +--------+---+---+---+---+---+---+----+----+ Dado un número X se desea conocer el resto de dividir un determinado número Fibonacci por M. Por ejemplo si M = 7, y X = 6 en resto seria 13 % 7 = 6. Entrada Varias lineas de entrada, cada una con dos números, M(2<=M<=100) e X(0<=X<=106). La entrada termina con X=0 e M=0. Salida Escriba en una linea el resto de dividir el Fibonacci X por M. Ejemplos +---------+--------+ | Entrada | Salida | +---------+--------+ | 7 3 | 3 | | 9 6 | 4 | | 11 3 | 3 | | 0 0 | | +---------+--------+
Adicionado por: | Gabriel Rea Velasco |
Fecha: | 2013-08-28 |
Tiempo límite: | 2s |
Límite del código fuente: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Lenguajes: | C CSHARP C++ 4.3.2 CPP CPP14 JAVA |
Fuente: | OBI 2011 |
ocultar comentarios
2015-08-26 02:18:58
Pongan más casos de prueba !!... |
|
2014-10-13 23:49:17 Pkmn Trainer Daniel
jajaja Gracias Profe Saul por darme la respuesta jajajajajajajajajaja :D xD xD |
|
2014-08-14 18:00:42 Manuel Vasquez Pimentel
ya probe mi programa muchisimas veces y no hay ningun error pero el juez me sigue diciendo q la respuesta es incorrecta... tienen mas casos de prueba??? |
|
2013-09-10 18:49:37 Prof. Saúl Quispe Valdez
La idea basica esta en esta direccion: http://apps.topcoder.com/forums/?module=Thread&threadID=642253&start=0&mc=10 |
|
2013-09-10 18:49:08 Prof. Saúl Quispe Valdez
No funciona mi codigo DONDE ESTA EL PROBLEMA por ejemplo: Para m=123 y x=42 la operacion que se realiza es: 433494437%123=2 eso lo calcule con la CALCULADORA DE WINDOWS y mi programa retorna 2 Entonces donde *¿$%# esta el PROBLEMA. TB m=122 x= 52 la operacion interna es 53316291173%122 = 13 y el programa retorna un resultado satisfactorio = 13 *¿$%# que paso #include <iostream> using namespace std; int main() { int f1,f2,x,m,aux,i; while (cin>>m>>x,m!=0 and x!=0) { f1 = 0; f2 = 1; x=x+1; for (i=1;i<=x;i++) { aux=f2; f2=(f1+f2)%m; f1=aux%m; } cout<<f1<<endl; } } |