"""Programa para enviar por mms numeros primos aleatorios que el movil calcule en tiempo real y que ademas la suma de sus digitos sea a su vez numero primo, es decir cuando le toque enviar un mms sacara 80 numeros primos aleatoriamente y los enviara al destinatario que hayamos indicado y siempre si la suma de sus digitos es numero primo, es decir que el numero tiene que ser primo y la suma de sus digitos tambien, hasta que no consiga esos 80 numeros que los conseguira no enviara el mms y cada mms lo enviara cada X segundos que nosotros le demos es decir si le decimos cada 6 segundos pues cada 6 segundos sacara 80 primos y los enviará... :) A Puedes elegir que mande los numeros primos en formato de letras del abecedario es decir los numeros son estos 0123456789 y las letras correspondientes ABCDEFGHIJ :) Más divertido no ?. Ahh que se me olvida junto con los numeros pos mandara un screenshot del movil con lo que salga por pantalla en ese momento :)""" import math, time import appuifw import e32 import mmsmodule import graphics from random import randint appuifw.app.title=u"^MvIiIaX^ Nº'S PrimosMMS" appuifw.note(u"Bienvenid@ Al Programa ^MvIiIaX^ PrimosMMS Por Marcos Ochoa Diez. Espera...", "info" ) e32.ao_yield() vector= [0] * 4792 vector1=["A","B","C","D","E","F","G","H","I","J"] quecositaes=0 fichero="" lerele=0 def _raw_input( txt ): return appuifw.query( unicode( txt ), "text" ) def tiempo(n): HOR=n/3600 MIN=(n /60)%60 SEG= n % 60 return (str(HOR)+":"+str(MIN)+":"+str(SEG)) def is_prime2( n ): j = int( round( math.sqrt( n ) ) ) for i in xrange(3, j+1, 2): if (n % i) == 0: return False return True def is_prime( n ): raiz = int( round( math.sqrt( n ) ) ) loco=0 while (n % vector[loco]!=0 and vector[loco]<=raiz):loco+=1 if vector[loco]>raiz: return True else: return False ole=0 print "\nPor Favor Espera Que Estoy Haciendo Unos Calculillos...\n" for mm in xrange(3,46350,2): if is_prime2( mm ): vector[ole]=mm ole +=1 cuantosmms= int( _raw_input(u"¿ Cuántos MMS Mandamos Con Primos ?: ") ) numeromo=int( _raw_input(u"¿ A Qué Número De Móvil ?: ") ) cadacuan=int( _raw_input(u"¿ Cada Cuántos Segundos Mandamos MMS ?: ") ) formato=int( _raw_input(u"¿ Enviar Primos En Formato Abecedario 1-SI 2-NO ?: ") ) envio=int( _raw_input(u"¿ 1-Enviar MMS 2-No Enviar Solo Ver ?: ") ) if envio==2: emer=int( _raw_input(u"¿ Ver En Pantalla Emergente 1-SI 2-NO ?: ") ) else: emer=2 anda=1 cadac=0 intentos=0 mmsc=0 appuifw.app.screen = 'full' while anda==1 and cadac<>cadacuan: e32.ao_yield() e32.ao_sleep(1) cadac+=1 lerele+=1 if cadac %30 ==0 and envio==1: print "\nQuedan "+tiempo(cadacuan-cadac)+" Para Siguiente MMS." while cadac==cadacuan and anda==1: cuantos=0 intentos=0 frase="80 Números Primos Te Mando - " while cuantos<>80: elnumero=randint(1,2147483646) intentos+=1 while elnumero % 2==0: e32.ao_yield() elnumero=randint(1,2147483646) intentos+=1 if is_prime(elnumero): suma=0 intentos+=1 flufli=str(elnumero) for k in xrange(0,len(flufli),1): suma+=int(flufli[k]) if is_prime(suma) and suma %2<>0: cuantos+=1 intentos+=1 if formato==2: if cuantos<80: frase+=str(elnumero)+", " else: frase+=str(elnumero)+". Espero Que Te Gusten :)" else: chechon="" for i in xrange(0,len(flufli),1): chechon+=vector1[int(flufli[i])] if cuantos<80: frase+=str(chechon)+", " else: frase+=str(chechon)+". Espero Que Te Gusten :)" else: intentos+=1 else: intentos+=1 mmsc+=1 print "\n"+unicode(frase,'iso-8859-1') print "\n... Mandando MMS... A "+str(numeromo)+" De "+str(len(frase))+" Caracteres. MMS "+str(mmsc)+" De "+str(cuantosmms)+" Quedan "+str(cuantosmms-mmsc)+" MMS Por Mandar."+"\nSe Han Realizado. "+str(intentos)+" Intentos Para Conseguir Los 80 Primos Para El MMS, Que Ademas La Suma De Sus Digitos Sea Numero Primo Tambien..." if emer==1: appuifw.note(unicode(frase,'iso-8859-1'), "info" ) pecador=0 for moncho in xrange (0,444444,1): pecador+=1 if envio==1: im = graphics.screenshot() im.save(u"d:\\m8ax.jpg") e32.ao_yield() fichero="d:\\m8ax.jpg" mmsmodule.mms_send(unicode(str(numeromo)), unicode(frase,'iso-8859-1'),unicode(fichero,'iso-8859-1')) if cuantosmms==mmsc: anda=0 cadac=0 print "\nTiempo De Proceso. "+tiempo(lerele) appuifw.note(u"¡¡¡ Guau !!! Ya Esta Todo El Trabajo Realizado :)", "info" )