Leyendo un libro “El prodigio de los números” que me regalo un dilecto amigo, el administrador de “Cacería de spammers“, me encontré con los números repfigit (REPetitive FIbonacci-like diGIT) o numero de Keith.

Un repfigit o número de Keith es un número entero, superior a 9, tal que sus dígitos, al comenzar una secuencia de Fibonacci, alcanzan posteriormente el referido número. Un ejemplo es 47, porque la secuencia de Fibonacci que comienza con 4 y 7 (4, 7, 11, 18, 29, 47) alcanza lo 47. Otro ejemplo es 197: 1+9+7= 17, 9+7+17= 33, 7+17+33= 57, 17+33+57= 107, 33+57+107= 197.

Un repfigit puede ser una secuencia de Tribonacci que tiene tres dígitos en el número, y de Tetranacci si el número tiene cuatro dígitos, etc.

Podemos encontrar esta secuencia en la bases de datos de secuencias “The On-Line Encyclopedia of Integer Sequences®” con el identificador “A007629“.

Este desafio consiste en escribir un programa que encuentre todos los números de Keith menores a 100000000. ¿Se animan?

Desafio SQL

Posted by RetroMan | Desafios

El siguiente problema surgió de una necesidad de una amigo de estudiar discontinuidades en un campo autoincremental en mysql, que carece de secuenciadores, o de un pseudomotor numerador.

La siguiente consulta devuelve una secuencia continua del 1 al 1000:

Se pide modificarla para que genere números del 1000 al 10000 inclusive, se recomienda evitar el uso de LIMITAdicionalmente, si es posible reducirla para optimizar su ejecución.

 

 

Sea s(m) el menor numero n tal que m divide a n!
Así tenemos por ejemplo que el menor numero “n” tal que m=10 sea divisor de n! es n=5.
5! = 120 y 120 es el menor factorial divisible por 10. Así  s(10)=5
Escribir un programa que calcule cual es el menor numero cuyo factorial sea divisible por 25.

Cinco hombres, naufragan en una isla que solo estaba habitada por un mono. Los hombres pasan todo el primer día recogiendo cocos.

Por la noche, uno de ellos despierta y, desconfiado, decide separar su parte. Divide los cocos en cinco montones, toma su parte y, como sobra un coco, se lo da al mono.

Poco después, un segundo náufrago se despierta y hace lo mismo. Al dividir los cocos en cinco montones, vuelve a sobrar un coco y también se lo da al mono.

Uno tras otro, el tercero, cuarto y quinto náufragos hacen lo mismo. Al día siguiente por la mañana, dividen los cocos en cinco montones sin que sobre ninguno.

Te animas a escribir un programa que nos diga ¿Cuántos cocos se habían recolectado inicialmente? y si en lugar de 5 marineroas eran 6 mas el mono.

Fuente: Wikipedia

Un número de Smith es un número natural compuesto que cumple que la suma de sus dígitos es igual a la suma de los dígitos de todos sus factores primos (si tenemos algún factor primo repetido lo sumamos tantas veces como aparezca).

El primer numero de Smith es el 4:

4 = 2 + 2

El siguinte el 22:

22 = 2 – 11
2 + 2 = 2 + 1 + 1

¿Te animas a hacer un programa que imprima todos los numeros de Smith menores que 1000?

A quien resuelva el siguiente problema le voy a dar como premio una remera estampada con motivo geek (programador) diseñado por mi.

Existen algunos enteros que si aplicamos la siguiente formula con cada uno de sus divisores:

divisor + numero / divisor

Obtenemos un numero primo para cada uno de los divisores.

Por ejemplo para el numero 10 sus divisores son: 1, 2, 5, 10

  • 1 + 10 / 1 = 11 primo
  • 2 + 10 / 2 = 7 primo
  • 5 + 10 / 5 = 7 primo
  • 10 + 10 /10 = 11 primo

¿Cual es el mayor numero menor a 10000 (10k) que cumple esa condicion?

Que operador es –>

Posted by RetroMan | Desafios

Aquí les dejo un desafio, en programacion C y C++ me encontre con una expresion algo rara, les dejo un pequeño codigo fuente para que prueben y ver si alguien me puede explicar el comportamiento extraño del programa y que clase de operador es –>.