Red de conocimiento informático - Problemas con los teléfonos móviles - Programación VB para encontrar todos los "números de narciso".

Programación VB para encontrar todos los "números de narciso".

Este programa es algo diferente en VB y VC, porque en VC cuando cada bit se define como un número entero, no tiene reglas de redondeo, pero en VB es diferente. Por ejemplo: (153/100) 10=1 en VC, pero se calcula como 2 en VB, así que preste atención a esto. En VB, primero juzgue a partir del dígito de las unidades si es mayor o igual a 5. Si es así, reste 0,5. Si no, opere directamente.

El programa en VB es el siguiente: un botón y una etiqueta son suficientes.

Atenuar m como entero

Atenuar m1 como entero

Atenuar m2 como entero

Atenuar m3 como entero 'm, m1, m2 , m3 se define mejor por separado; de lo contrario, se producirá un error de incompatibilidad del tipo de parámetro ByRef

Dim str As String

Private Sub Command1_Click()

For m = 100 A 999

m3 = m Mod 10

Si m3 gt; = 5 Entonces

m2 = (m / 10 - 0.5) Mod 10 'Porque cuando a Cuando el número de dígitos es mayor que 5, m/10 se redondeará a uno, es decir, el dígito de las decenas será 1 más que el dato original, por lo que se debe cancelar la regla de redondeo para este dígito de redondeo

De lo contrario

m2 = (m/10) Mod 10

Finalizar si

Si m2 gt = 5 Entonces

m1 = m / 100 - 0.5 'El motivo es el mismo que el anterior

Else

m1 = m / 100

End If

Si ((cúbico(m1) cúbico(m2) cúbico(m3 )) = m) Entonces

str = str CStr(m) vbCrLf 'Guarda cada dato calculado en str y envuélvelo en un nuevo línea

Label2.Caption = str

Fin si

Siguiente m

End Sub

Función cúbica( datos como entero) como doble

cúbico = datos * datos * datos

Función final

El resultado es el siguiente: