27 julio, 2026

COMPROBAR SI UN NÚMERO ES PRIMO USANDO POWER APPS

Hola a todos,

Hoy planteo este post a modo de curiosidad e interés 🙂

Hace más o menos un año intenté crear una función que me generase números primos entre dos números usando Power Apps, pero por varios motivos no lo conseguí, entre ellos la incompatibilidad de funciones y capacidad de cálculo.

Hoy regreso con un código que nos va a permitir detectar si un número es primo o no, para ello os propongo el siguiente código:

// Pasamos datos a número
Set(numero; Value(TextInput1.Text));;
//iniciamos colección
ClearCollect(Divisores; []);;
//comprobamos si es número primo
If(
    numero <= 1;
    Set(esPrimo; false);
    ForAll(
        Sequence(numero - 2; 2; 1);
        If(
            Mod(numero; ThisRecord.Value) = 0;
            Collect(Divisores; ThisRecord.Value)
        )
    )
);;
// verificamos si hay o no divisor
If(
    IsEmpty(Divisores);
    Set(esPrimo; true);
    Set(esPrimo; false)
);;
// Pasamos valores
If(
    esPrimo;
    Set(resultado; "El número es primo");
    Set(resultado; "El número no es primo")
);;

Para ello he creado una App con los siguientes elementos:

Un TextInput para introducir el número que queremos comprobar, un botón para comprobar el dato con el código que os he compartido y un label para mostrar la información. Adicionalmente he incluido un listado de los números primos entre el 1 y el 1.000:

En el ejemplo compruebo como el 4 no es número y entonces el label se pone de color rojo e informa que el número no es primo.

El efecto en el label es porque he incluido esta línea de código en la propiedad Fill:

If(esPrimo;RGBA(82; 183; 136; 1);RGBA(255; 0; 0; 1))

Y esto es todo, espero que os resulte interesante!

Comparte este post

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies