Programacion PHP

Iniciado por informatico1, 27 Junio 2019, 01:37 AM

0 Miembros y 1 Visitante están viendo este tema.

informatico1

Necesito saber como poner para juntar los primos y sacarles el promedio.

Dada una lista de N numeros, calcular el promedio de los primos.

Código (php) [Seleccionar]
<?php
$valor 
=$_POST["numero"];
$primo 0;
 
for (
$i=1;$i<=$valor;$i++) {
    if (
$valor%$i==0) {
        
$primo++;
    }
}
 
if (
$primo>=2) {
    echo 
"Es primo";
} else {
    echo 
"No es primo";
}
?>

@XSStringManolo

#1
Puedes usar un string con el operador de concatenación. Si tienes string con espacios y quieres diferenciar uno de otro, puedes añadirle un símbolo antes de cada string o una palabra/frase con un ID. Así puedes buscarlos por esa frase según ese ID.
Al principio del programa:

Código (php) [Seleccionar]
static $contador = 0;

Fuera del bucle:

Código (php) [Seleccionar]
$primoRes = 'Primos:';
$MantenerseEnBucle = true;

while($MantenerseEnBucle)
{
 if ($primo >=2)
 {
$contador++;
$primoRes .= "PrimoNum";
$primoRes .= $contador;
$primoRes .= "_es:"
$primoRes .= $primo;
$MantenerseEnBucle = false;
 }
}


Despues para buscar los numeros primos en el string usas un for. Recorres el string caracter por caracter. Si te encuentras una '_' compruebas si los siguientes caracteres son 'e' , 's' y ':'. Entonces ya sabes que los siguientes caracteres desde ':' hasta la 'P' de Primos van a ser los caracteres de tu número primo. Después es cosa tuya lo que hagas. Si lo muestras en pantalla o lo que quieras hacer.

Para sacar el promedio yo usaría otra variable estatica declarada a 0 y dentro del if cada vez que se encuentre un primo le sumo 1 a la variable. Dentro del if también sumo el numero a una variable.
Despues divides las suma de primos entre el valor de la variable static y ya tienes el promedio. Por último si vas a seguir usando el programa, mete la definion de la variable static para resetearla.

Código (php) [Seleccionar]
if ($primo >= 2)
{
$sumaDePrimos += $primo;
$numDePrimosEnLaSerie++;
}


Cuando no queden primos por comprobar:

Código (php) [Seleccionar]
$promedio = $sumaDePrimos / $numDePrimosEnLaSerie;

En caso de resetear el programa $numDePrimosEnLaSerie=0;

Si tienes los primos 3 7 y 5
El programa haría esto:
sum 0 + 3
serie 1

sum 3 + 7
serie 2

sum 10 + 5
sum 3

Promedio 15 / 3
Promedio es 5




Mod: Obligatorio el uso de etiquetas GeSHi.