Desafio

En <a href=http://www.retronet.com.ar/node/692>Retronet</a> hay un problema de secuencias (el segundo), me gustaria plantear el desafio de escribir un programa que sea capaz de, dado un determinado numero de la secuencia, escriba el que sigue.

Yo ya lo hice en ruby como parte de mi proyecto de aprendizaje de ese lenguaje.

Tags:

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de julio
Desafio en C

Me demore, pero aquí está.

#include <stdio.h>
#include <stdlib.h>
char *secuenciaNext(long);
int main(int argc, char *argv[])
{
char line[80];
long nume;
printf("\nIngrese un numero inicial: ");
gets(line);
nume = atol(line);
if (nume <= 0)
printf("El valor ingresado no se puede procesar");
else
printf("\nEl siguiente es: %s\n", secuenciaNext(nume));

return 0;
}
char * secuenciaNext(long n)
{
char txt[40];
char out[40];
int i, j, cta, ult;
sprintf(txt, "%lu", n);
for (i = j = 0; txt[i]; )
{
for (cta = 0, ult = txt[i]; txt[i] && ult == txt[i]; ++cta, ++i);
out[j++] = cta + '0';
out[j++] = ult;
}
out[j] = 0;
return strdup(out);
}

Enviado por julio el Mar, 27/11/2007 - 17:29.

Inicio de sesión

CAPTCHA
Esta pregunta sirve para asegurarnos de que eres una persona y no un robot que envía spam
1 + 14 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

Comentarios