Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

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 CPP C++ 4.3.2 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;
}
}
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.