Otra duda con combinatorias de numeros :(

Iniciado por luis456, 9 Marzo 2020, 18:29 PM

0 Miembros y 2 Visitantes están viendo este tema.

luis456

Hola chicos aca os traigo otra de mis chapuzas de combinatorias :
introduzco ejemplo estos números " 1, 2 , 3 , 5 , 7 " necesito formar con estos números  el 12 , 13 , 15 , 17 ,21 ,23 , 25, 27 etc etc menos 51 osea todo lo que tenga el 5 adelante o el 7,

lo de la limitación de los números  tengo la idea con esta rutina :

Código (vbnet) [Seleccionar]
Return If(Value < MAX, Value, Rand.Next(0, MAX))

Adonde tengo la pega es con este :)

Código (vbnet) [Seleccionar]
'--combis para reparar nesecita un boton y un trxbox TRABAJANDO EN ELLO AHORA
   Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click

       ' Dim intCol As IEnumerable(Of Integer) = {2, 3, 4, 7}
       Dim intCol As IEnumerable(Of Integer) = (Result1)  '<---aca convierto las variables que trae los numeros pueden ser del 1 al 9
       ' lo que nesecito es formar combinaciones pares y que no pase del numero 50

       Dim pairsCol As IEnumerable(Of String) =
           From value1 As Integer In intCol
           From value2 As Integer In intCol
           Select String.Join(Environment.NewLine, (
                              From value3 As Integer In intCol
                              Where (value1 <> value2) AndAlso
                                    (value1 <> value3) AndAlso
                                    (value2 <> value3)
                              Select String.Format("{0:00}, {1:00}, {2:00}",
                                                   value1, value2, value3)))



       For Each pairs As String In pairsCol


           For Each line As String In pairs.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries).Distinct().ToArray
               ' MsgBox(pairs.Count)
               ' MsgBox(line.Count)

               Me.ListBox3.Items.Add(line)
           Next line

       Next pairs
   End Sub


si alguno sabria como modificarlo me ayudaria mucho

saludos
Luis
Que tu sabiduria no sea motivo de Humillacion para los demas

Optimus_73

#1
Buenas, he hecho un pequeño programa en javascript. Supongo que no sera muy complicado codificarlo en .Net. Los bucles anidados son un poco marroneros pero es lo mejor que se me ha ocurrido con un tipado fuerte. Espero que te sirva ;)


let input = [1, 2, 3, 5, 7];
let output = new Array();

for(let i = 0; i < input.length; i++){
for(let j = 0; j < input.length; j++){
if(input[i] != input[j] && input[i] < 5){
output.push(input[i] * 10 + input[j]);
}
}
}

console.log(output); //[12, 13, 15, 17, 21, 23, 25, 27, 31, 32, 35, 37]

luis456

Cita de: Optimus_73 en  9 Marzo 2020, 21:38 PM
Buenas, he hecho un pequeño programa en javascript. Supongo que no sera muy complicado codificarlo en .Net. Los bucles anidados son un poco marroneros pero es lo mejor que se me ha ocurrido con un tipado fuerte. Espero que te sirva ;)


let input = [1, 2, 3, 5, 7];
let output = new Array();

for(let i = 0; i < input.length; i++){
for(let j = 0; j < input.length; j++){
if(input[i] != input[j] && input[i] < 5){
output.push(input[i] * 10 + input[j]);
}
}
}

console.log(output); //[12, 13, 15, 17, 21, 23, 25, 27, 31, 32, 35, 37]



Gracias todo aporte vale ,lo convertiré y te cuento ;)

saludos
Luis

Que tu sabiduria no sea motivo de Humillacion para los demas

luis456

Hola  bueno como os comente en un post anterior trabajo fuera de casa y este portatil no da para mucho el codigo en java echo por Optimus_73 lo he tenido que pasar primero a c

using System.Collections.Generic;

let input = new List() {1, 2, 3, 5, 7};
let output = new Array();

for (let i = 0; i < input.length; i++)
{
for (let j = 0; j < input.length; j++)
{
  if (input[i] != input[j] && input[i] < 5)
  {
   output.push(input[i] * 10 + input[j]);
  }
}
}

console.log(output); //[12, 13, 15, 17, 21, 23, 25, 27, 31, 32, 35, 37]


y despues a Visual net


pero con este portatil vamos muy mal ya que es LENTOOOO y no me deja trabajar bien

ya veremos cuando llegue el fin de semana   :silbar: :silbar: :silbar:

Código (vbnet) [Seleccionar]
Imports System.Collections.Generic
Dim input As let = new List()
Dim 2, 3, 5, 7 As 1,

Dim output As let = new Array()
For i As let = 0 To input.length-1
For j As let = 0 To input.length-1
If input(i) <> input(j) AndAlso  input(i) < 5 Then
  output.push(input[i] * 10 + input[j])

  End if

  Next

  Next

console.log(output) '[12, 13, 15, 17, 21, 23, 25, 27, 31, 32, 35, 37]


saludos
Luis















Que tu sabiduria no sea motivo de Humillacion para los demas

**Aincrad**

Cita de: luis456 en 11 Marzo 2020, 06:48 AM
Código (vbnet) [Seleccionar]
Imports System.Collections.Generic
Dim input As let = new List()
Dim 2, 3, 5, 7 As 1,

Dim output As let = new Array()
For i As let = 0 To input.length-1
For j As let = 0 To input.length-1
If input(i) <> input(j) AndAlso  input(i) < 5 Then
  output.push(input[i] * 10 + input[j])

  End if

  Next

  Next

console.log(output) '[12, 13, 15, 17, 21, 23, 25, 27, 31, 32, 35, 37]



Let? (output As let ) , bueno , correccion :

Código (vbnet) [Seleccionar]
  Dim input As Integer() = {1, 2, 3, 5, 7}

        Dim output As New List(Of Integer)

        For i As Integer = 0 To input.Length - 1
            For j As Integer = 0 To input.Length - 1
                If input(i) <> input(j) AndAlso input(i) < 5 Then
                    Dim result As Integer = (input(i) * 10 + input(j))
                    output.Add(result)
                End If
            Next j
        Next i







luis456

Cita de: **Aincrad** en 11 Marzo 2020, 15:24 PM
Let? (output As let ) , bueno , correccion :

Código (vbnet) [Seleccionar]
  Dim input As Integer() = {1, 2, 3, 5, 7}

        Dim output As New List(Of Integer)

        For i As Integer = 0 To input.Length - 1
            For j As Integer = 0 To input.Length - 1
                If input(i) <> input(j) AndAlso input(i) < 5 Then
                    Dim result As Integer = (input(i) * 10 + input(j))
                    output.Add(result)
                End If
            Next j
        Next i





bueno se agradece jejje es que de prisa y corriendo y usando un convertidor cualquiera ya os he dicho que como trabajo fuera de casa y me acompaña un Asus un poco viejillo lerdo y lento como ( yo ;(   )  ya probare tu corrección este finde 

Que tu sabiduria no sea motivo de Humillacion para los demas

EdePC

Cita de: luis456 en 11 Marzo 2020, 06:48 AM
pero con este portatil vamos muy mal ya que es LENTOOOO y no me deja trabajar bien

ya veremos cuando llegue el fin de semana   :silbar: :silbar: :silbar:

- Seguramente estás utilizando Visual Studio 2019, si tu PC no da para mucho o no necesitas tanta "funcionalidad" podrías usar una versión más ligera como la 2008 o 2010, dependerá mucho de las características que uses del lenguaje.

- Yo ando recopilando enlaces directos a las versiones de Visual Studio 2005, 2008 y 2010, tanto en express como profesional todo en formato ISO y de ser posible en español.

- De momento he probado las versiones Express de 2005 y van bastante aceleradas, abren en segundos y no consumen más de 100 MB de Ram XD. Los encontre solo en ingles, sin embargo hallé también la versión profesional en español XD.

- Ahora quiero probar el Visual Studio 2008 que me parece podría ser más útil y más modernito, aquí están los enlaces directos a la versión express y profesional en español:

Microsoft Visual Studio 2008 Express con SP1 en español (Gratis):
http://download.microsoft.com/download/9/6/3/9632B28F-8B0B-40E5-98AB-7102BA848165/VS2008ExpressWithSP1ESNx1504732.iso

Microsoft Visual Studio 2008 Profesional en Español (90 días de prueba, varios seriales en Internet):
http://download.microsoft.com/download/0/4/3/0434418f-7f3d-4dd6-9846-13f75353ff80/VS2008ProEdition90DayTrialESNX1435990.iso

- Seguramente algún desarrollador más activo en .NET tenga otros puntos de visto sobre usar versiones tan antiguas XD.

luis456

Grcias EdePC por el aporte  ;-)

a ver si entre semanas con esto puedo hacer algo  ;-)

saludos
Luis
Que tu sabiduria no sea motivo de Humillacion para los demas

EdePC

- También depende del Sistema Operativo, Windows 10 es muy pesado, si no tienes un SSD va ha ser difícil trabajar cómodamente, aparte de la cantidad de procesos, subprocesos, servicios y demás que consumen una buena cantidad de GB de Ram.

- Yo trabajo con Windows 8 (no 8.1) que es muy ligero, que porqué me gusta tanto, pues con todo lo que tengo en ejecución y apenas me consume 3 GB de Ram y no pasa de 1GHz de Ram, esto un en sistema de 64-bit, pues es todavía menos en uno de 32-bit XD, además tengo un simple HDD de 1 TB, los SSD son muy caros por la capacidad que traen:



- Dependerá de gustos, pero yo trabajo con muchas ventanas y programas a la vez y necesito una reacción rápida por parte del sistema operativo, yo quiero que la PC siga mi ritmo y no estarle esperando a que trabaje.

luis456

Cita de: EdePC en 14 Marzo 2020, 00:47 AM
- También depende del Sistema Operativo, Windows 10 es muy pesado, si no tienes un SSD va ha ser difícil trabajar cómodamente, aparte de la cantidad de procesos, subprocesos, servicios y demás que consumen una buena cantidad de GB de Ram.

- Yo trabajo con Windows 8 (no 8.1) que es muy ligero, que porqué me gusta tanto, pues con todo lo que tengo en ejecución y apenas me consume 3 GB de Ram y no pasa de 1GHz de Ram, esto un en sistema de 64-bit, pues es todavía menos en uno de 32-bit XD, además tengo un simple HDD de 1 TB, los SSD son muy caros por la capacidad que traen:



- Dependerá de gustos, pero yo trabajo con muchas ventanas y programas a la vez y necesito una reacción rápida por parte del sistema operativo, yo quiero que la PC siga mi ritmo y no estarle esperando a que trabaje.


Bueno
yo estoy esperando que me llegue la nueva máquina que pedí (china jejje) es un servidor Zeon de 2.500mhz y 32 de ram, son procesadores  que ya han quitado de los dataserver, pero para un mortal como nosotros dicen que es una Bestia, pero lo demas es nuevo tarjeta madre etc ya tengo casi todo,un cajón Nforte tipo gamer  :silbar: teclado ,disco ssd de 450 gb. solo me falta la refrigeración líquida y ya tendría como poder programar sin problema ,por los momentos uso un i3 que va muy bien y uso el Visual estudio 2017.

saludos
Luis

Que tu sabiduria no sea motivo de Humillacion para los demas