Php

Siguiendo con el aprendizaje de Php un lenguaje con gran trayectoria en la Web y que gracias a el se han podido desarrollar infinidades de proyectos de todo tipo hoy veremos un ejercicio práctico de como podemos generar todos los números primos entre dos números en php, dando como datos de entrada un inicio y un fin o lo que sería el intervalo entre el cual se generarán los números.

Generar números primos entre dos números en Php

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
< !DOCTYPE html>
<html lang=«en»>
<head>
<meta charset=«UTF-8»/>
<title>Generar Numeros primos</title>
</head>
<body>
<form action=«primos.php» method=«POST»>
<label for=«n1»>Inicio:</label>
<input type=«text» name=«n1» required/>
<br />
<label for=«n2»>Fin:</label>
<input type=«text» name=«n2» required/>
<br />
<input type=«submit» value=«Verificar»/>
</form>
</body>
</html>
<?php
if($_POST){
$valor = $_POST[‘n1’];
$valor2 = $_POST[‘n2’];
$primos=«»;
$no_primos=«»;
$p=«»;
$np=«»;
for ($i=$valor; $i < $valor2; $i++) {
$resp = primo($i);
if ($resp == true) {
$primos = 
<tr>
<td>’
.» «.$i.‘</td>

;
$p=$p.» «.$primos;
}else {
$no_primos = 
<tr>
<td>’
.» «.$i.‘</td>
</tr>
;
$np=$np.» «.$no_primos;
}
}
?>
<table>
<tr>
<td>
<table cellspacing=«0» cellpadding=«1» border=«1»>
<tr>
<td WIDTH=«130»> Numeros Primos</td>
</tr>
<?php echo «».$p ?>
</table>
</td>
<td>
<table cellspacing=«0» cellpadding=«1» border=«1»>
<tr>
<td WIDTH=«130»> Numeros No primos</td>
</tr>
<?php echo «».$np ?>
</table>
</td>
</tr>
</table>
<?php
}
function primo($n){
$c = 0;
for($i = 1; $i <= $n; $i++){
if($n % $i == 0){
$c++;
}
}
if($c==2){
return true;
}
else{
return false;
}
}
?>

Básicamente el ejercicio anterior pedimos dos números y generamos una lista en dos tablas diferentes con los números primos y los no primos.
prueba este ejercicio y cuéntanos tus experiencias.
Saludos!.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *