elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 50
141  Programación / .NET (C#, VB.NET, ASP) / Re: Control similar a la que usa el explorador de win7 para vb.net en: 7 Agosto 2012, 21:29 pm
Es un TrackBar Vertical con un Menú ese control no existe en .Net pero lo puedes crear como un UserControl.
142  Programación / .NET (C#, VB.NET, ASP) / Re: Descomponer en factores primos en: 7 Agosto 2012, 15:11 pm
La tomare mucho en cuenta si la llegase a necesitar, voy a descargarla ahora, Gracias por compartirla ;) hay una página WolframAlpha que también resuelve cualquier cosa, ofrece una API pero es paga :-\

Para usar Regex debes importar System.Text.RegularExpressions.

Mi código será siempre más lento, porque está en .Net y porque así como he agregado muchas cosas también faltaran otras, pero es solo practica lo que buscaba era entender la teoría de los problemas y las ventajas de factorizar un número que se supone compuesto en sus primos ;D.
143  Programación / .NET (C#, VB.NET, ASP) / Re: Descomponer en factores primos en: 7 Agosto 2012, 02:46 am
Yo publico uno hace tiempo, mejore el código como por un año investigando bastante me obsesiono por un tiempo este tema :xD y en verdad va bastante rápido, claro hay números que por alguna razón matemática que aun no entiendo tardan demasiado, como por ejemplo 444445555511122222 o de ese tipo.

http://foro.elhacker.net/net/aporte_factorizacion_a_maxima_velocidad_actualizado_21102011-t321927.0.html

Normalmente siempre se recorren los números de 0 a N para hallar si un número es primo, eso serían N operaciones para cualquier N, si N es 100 mil millones entonces 100 mil millones serán las operaciones necesarias, a eso se debe la demora, sin embargo hay muchos métodos para acortar el tiempo, todos los que pude descubrir están aplicados en ese ejemplo, en tu código aplicas varios, como comenzar desde el 3, porque se sabe que el 2 es primo y el 1 no, avanzar de 2 en 2, porque sabemos que ningún primo es par, además de estos hay otros importantes como por ejemplo ningun número que se presume compuesto tiene más de un factor primo que supere su raíz por el simple hecho de que si F1 es una factor de N y es mayor que la raíz de N, N no puede tener 2 F1 de factores por que superarían a N, en otras palabras 2*F1>N, otros varios están explicados en esa publicación, nada más estos 3 disminuyen la cantidad de operaciones en

RaízCuadrada(N-3/2) en vez de N operaciones.

Como sea al menos hasta ahora no existe un método para factorizar en primos números grandes de una manera rápida, si alguien lo logra o lo matan o la seguridad informática debe volver a plantearse desde el principio :xD
144  Programación / .NET (C#, VB.NET, ASP) / Re: cambiar variable de integer a string en: 5 Agosto 2012, 16:45 pm
No entiendo que intentas hacer :-\

La Variable Xcoord es Object, guardas un String y luego intentas transformarla en Integer para compararla con Boolean D:

En principio que quieres hacer con ese trozo de código...

¿Qué es lo que hay almacenado en Xcoord?
145  Programación / .NET (C#, VB.NET, ASP) / Re: Como sacar el audio de un vídeo? en: 5 Agosto 2012, 05:58 am
Busca en GoogleCode o en SourceForge proyectos yo eche un ojo rápido con "youtube to mp3" y salen proyectos que vale la pena ver...
146  Programación / .NET (C#, VB.NET, ASP) / Re: Mostrar resultado de www.images.google.com en PictureBox en: 5 Agosto 2012, 02:36 am
Puede ser que DownloadData no se completo correctamente o que "Elemento" no contenga el atributo href, guarda DownloadData en una variable y verifica que el resultado de GetAttribute no es nulo.
147  Programación / .NET (C#, VB.NET, ASP) / Re: Mostrar resultado de www.images.google.com en PictureBox en: 4 Agosto 2012, 22:52 pm
Con Images se filtra más

Código
  1.        For Each ele As HtmlElement In WebBrowser1.Document.Images
  2.            MessageBox.Show(ele.GetAttribute("href"))
  3.        Next

Aquí un ejemplo de lo que te venia hablando, con un Panel1 y un WebBrowser1
Código
  1. Public Class Form1
  2.  
  3.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  4.        WebBrowser1.Navigate("http://www.google.co.ve")
  5.    End Sub
  6.  
  7.    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
  8.  
  9.        Dim Descarga As New Net.WebClient
  10.        Dim Imagen As Image
  11.        Dim ImagenStream As IO.MemoryStream
  12.        Dim PictureBoxActual As PictureBox
  13.  
  14.        For Each Elemento As HtmlElement In WebBrowser1.Document.Images
  15.  
  16.            ImagenStream = New IO.MemoryStream(Descarga.DownloadData(Elemento.GetAttribute("href")))
  17.  
  18.            Imagen = Image.FromStream(ImagenStream)
  19.  
  20.            ImagenStream.Dispose()
  21.  
  22.            PictureBoxActual = New PictureBox() With {.Name = "P" & Panel1.Controls.Count.ToString, _
  23.                                                      .Location = New Point((32 * Panel1.Controls.Count) - (Math.Floor(Panel1.Controls.Count / 3) * 32) * 3, _
  24.                                                                            Math.Floor(Panel1.Controls.Count / 3) * 32), _
  25.                                                      .BackgroundImage = Imagen.Clone, _
  26.                                                      .Size = New Size(32, 32), _
  27.                                                      .BackgroundImageLayout = ImageLayout.Stretch}
  28.  
  29.            Panel1.Controls.Add(PictureBoxActual)
  30.  
  31.            Imagen.Dispose()
  32.  
  33.        Next
  34.  
  35.    End Sub
  36.  
  37. End Class

Allí en Size puedes modificar el tamaño de cada Picturebox, y en Location, está calculado para que entren Imágenes de 3 en 3 de izquierda a derecha y de arriba a abajo. Es solo un ejemplo, si quieres que entren Imagenes hasta que cubran el Panel entonces el 3 sería Panel1.Width / 32 o entre la medida que tenga cada PictureBox de ancho.
148  Programación / .NET (C#, VB.NET, ASP) / Re: Mostrar resultado de www.images.google.com en PictureBox en: 4 Agosto 2012, 20:46 pm
Esa función que obtiene una imagen de un URL te ayudara mucho, yo te recomiendo descargar el Source de la búsqueda de Google, el problema es que aún no veo como sacar el link correcto para una búsqueda de "zapato", por ejemplo.

Una simple búsqueda de la palabra "ejemplo", tiene una cantidad enorme de parámetros en el URL >:(

Código:
http://www.google.co.ve/search?num=10&hl=es&site=imghp&tbm=isch&source=hp&biw=1360&bih=638&q=ejemplo&oq=ejemplo&gs_l=img.3..0l10.1763.2508.0.2745.7.6.0.1.1.1.391.844.2j2j0j1.5.0...0.0...1ac.3wlEkzZCgp0

Lo que si se es que luego de tener el Source las imágenes vienen en este estilo

Código:
imgurl="XXX"&amp


Que se puede capturar con expresiones regulares, para luego ir agregando los PictureBox e ir colocando las imagenes con las URL que sacaste y la función que hiciste.

La otra forma que es el doble de lenta :silbar:, pero más sencilla :xD es cargar la búsqueda en un WebBrowser, y solicitar las etiquetas de las imágenes con Document.Images -> OuterHtml, estas estiquetas vienen en el formato común para agregar una imagen en HTML

Código:
<img src=...></img>

También sacarías el link con expresiones regulares y lo cargarías a cada PictureBox, el problema de este método es que cada imagen cargara 2 veces.
149  Programación / .NET (C#, VB.NET, ASP) / Re: Mostrar resultado de www.images.google.com en PictureBox en: 4 Agosto 2012, 20:07 pm
Se puede lograr usando un Panel con la propiedad AutoScroll en True, e ir agregando PictureBox con la imagen correspondiente en tiempo de ejecución, los PictureBox podrían tener un tamaño fijo para que se te haga más fácil calcular la posición que tendrán dentro del Panel, puedes usar la propiedad de los PictureBox BackgroundImageLayout en Strech para ajustar la imagen al PictureBox, si quieres que se vea mejor entonces cámbiale el tamaño proporcional con Graphics o con New Bitmap(Imagen , Ancho, Alto).

¿Ya tienes hecho el motor que saca las URL de las imágenes?, si no ya se me dices porque ya encontré una forma ;)
150  Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda. Juego del periódico (Cuadro Numérico) en: 4 Agosto 2012, 00:59 am
Ahora ya habiendo preguntado todo. Da ese error por que los valores no están, tu estas pidiendo los valores de los cuadros vacíos y eso es precisamente lo que estas buscando. Te doy un ejemplo:

Con el cuadro de 3x3 que tu me diste:

x - x + x    =8
-   +    +
x+ n  / x    =2
/    -    *  
x +x+  x   =9

=   =   =
2    4    8

Aquí hay 6 ecuaciones o formulas, como les quieras decir:

Código:
x-x+x=8
x+n/x=2
x+x+x=9
x-x/x=2
x+n-x=4
x+x*x=9

Entonces como estás haciendo debes dividir, sumar, restar o multiplicar los números del 1 al 9 con la formula que posees hasta hallar todas las posibles soluciones.

Coloquemosle nombre a las "x" que son los TextBox para confundirnos menos:

Por ejemplo:
Código:
x-x+x=8

Código
  1.        Dim resultado As Integer = 8
  2.  
  3.        For x1 As Integer = 1 To 9
  4.            For x2 As Integer = 1 To 9
  5.                For x3 As Integer = 1 To 9
  6.                    If x1 - x2 + x3 = resultado Then
  7.                        MessageBox.Show(String.Format("{0}-{1}+{2}={3}", x1, x2, x3, resultado))
  8.                    End If
  9.                Next
  10.            Next
  11.        Next

Este código hallo 52 soluciones posibles.

Código:
1-1+8=8
1-2+9=8
2-1+7=8
2-2+8=8
2-3+9=8
3-1+6=8
3-2+7=8
3-3+8=8
3-4+9=8
4-1+5=8
4-2+6=8
4-3+7=8
4-4+8=8
4-5+9=8
5-1+4=8
5-2+5=8
5-3+6=8
5-4+7=8
5-5+8=8
5-6+9=8
6-1+3=8
6-2+4=8
6-3+5=8
6-4+6=8
6-5+7=8
6-6+8=8
6-7+9=8
7-1+2=8
7-2+3=8
7-3+4=8
7-4+5=8
7-5+6=8
7-6+7=8
7-7+8=8
7-8+9=8
8-1+1=8
8-2+2=8
8-3+3=8
8-4+4=8
8-5+5=8
8-6+6=8
8-7+7=8
8-8+8=8
8-9+9=8
9-2+1=8
9-3+2=8
9-4+3=8
9-5+4=8
9-6+5=8
9-7+6=8
9-8+7=8
9-9+8=8

Ahora esas son posibles soluciones para esa fila, te recomiendo almacenar esas soluciones en algún sitio, porque cuando vayas a hallar los valores en las columnas que interceptan esa fila la solución correcta solo será unas pocas si que acaso una sola de las N que existan.

Ahora solucionaremos la primera columna:

Código:
x1-x4/x7=2

Debemos probar con los números del 1-9 para las "x" que no conocemos y usar los valores que hemos almacenado para las "x" que conocemos hasta que nos de 2 que es el resultado que buscamos.

Ejemplo:

Código
  1.  'Aqui almacenaremos las x1, x2 y x3 que dan solución'
  2.        Dim _x1 As New List(Of Integer)
  3.        Dim _x2 As New List(Of Integer)
  4.        Dim _x3 As New List(Of Integer)
  5.  
  6.        Dim resultado_fila_1 As Integer = 8
  7.        Dim resultado_columna_1 As Integer = 2
  8.  
  9.        For x1 As Integer = 1 To 9
  10.            For x2 As Integer = 1 To 9
  11.                For x3 As Integer = 1 To 9
  12.                    If x1 - x2 + x3 = resultado_fila_1 Then
  13.                        If Not _x1.Contains(x1) Then
  14.                            _x1.Add(x1)
  15.                        End If
  16.                        If Not _x2.Contains(x2) Then
  17.                            _x2.Add(x2)
  18.                        End If
  19.                        If Not _x3.Contains(x3) Then
  20.                            _x3.Add(x3)
  21.                        End If
  22.                    End If
  23.                Next
  24.            Next
  25.        Next
  26.  
  27.        For x4 As Integer = 1 To 9
  28.            For x7 As Integer = 1 To 9
  29.                For Each x1 As Integer In _x1
  30.                    If x1 - x4 / x7 = resultado_fila_1 Then
  31.                        MessageBox.Show(String.Format("{0}-{1}/{2}={3}", x1, x4, x7, resultado_columna_1))
  32.                    Else
  33.                        _x1.Remove(x1)
  34.                    End If
  35.                Next
  36.            Next
  37.        Next

Este código calcula que de las 52 soluciones solo hay 9 que satisfacen la columna 1 cuando intercepta la fila 1, este procedimiento hay que seguirlo aplicando hasta hallar la solución completa, es bastante trabajo pero al terminarlo es una obra de arte Los juegos de computadora son la máxima expresión de la lógica y la matemática aplicada :xD

Mira que si no se satisface la condición el valor es removido de _x1, vas realizando el procedimiento una y otra vez, y cuando finalices todas las filas y columnas te quedara una lista de valores x1, x2, x3, x4, x5 y x6 que guardan las combinaciones perfectas que llegan a la solución.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 50
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines