Dado un número n, la tarea del programador es imprimir los factores del número de tal manera que se presenten en pares. Un par significa que el producto del par debe dar como resultado el número mismo;
Ejemplos:
Input : 24 Output : 1*24 2*12 3*8 4*6 Input : 50 Output : 1*50 2*25 5*10
El enfoque más simple para este programa es que ejecutamos un bucle desde 1 hasta la raíz cuadrada de N e imprimimos e imprimimos ‘i’ y ‘N%i’ si el número N divide a ‘i’.
La razón matemática por la que ejecutamos el ciclo hasta la raíz cuadrada de N se da a continuación:
Si a*b = N donde 1 < a ≤ b < N
N = ab ≥ a^2 ⇔ a^2 ≤ N ⇔ a ≤ √N
C++
// CPP program to print prime factors in // pairs. #include <iostream> using namespace std; void printPFsInPairs(int n) { for (int i = 1; i * i <= n; i++) if (n % i == 0) cout << i << "*" << n / i << endl; } // Driver code int main() { int n = 24; printPFsInPairs(n); return 0; }
Java
// Java program to print prime factors in // pairs. public class GEE { static void printPFsInPairs(int n) { for (int i = 1; i * i <= n; i++) if (n % i == 0) System.out.println(i + "*" + n / i); } // Driver code public static void main(String[] args) { int n = 24; printPFsInPairs(n); } }
C#
// C# program to print prime factors in // pairs. using System; public class GEE { static void printPFsInPairs(int n) { for (int i = 1; i * i <= n; i++) if (n % i == 0) Console.Write(i + "*" + n / i + "\n"); } // Driver code public static void Main() { int n = 24; printPFsInPairs(n); } }
Python 3
# Python 3 program to print prime factors in # pairs. def printPFsInPairs(n): for i in range(1, int(pow(n, 1 / 2))+1): if n % i == 0: print(str(i) +"*"+str(int(n / i))) # Driver code n = 24 printPFsInPairs(n)
PHP
<?php // PHP program to print prime factors in // pairs. function printPFsInPairs($n) { for ($i = 1; $i*$i <= $n; $i++) if ($n % $i == 0) echo $i."*". $n / $i ."\n"; } // Driver code $n = 24; printPFsInPairs($n); return 0; ?>
Javascript
<script> // Javascript program to print prime factors in // pairs. function printPFsInPairs(n) { for (let i = 1; i * i <= n; i++) if (n % i == 0) document.write(i + "*" + parseInt(n / i) + "<br>"); } // Driver code let n = 24; printPFsInPairs(n); </script>
Producción:
1*24 2*12 3*8 4*6
Publicación traducida automáticamente
Artículo escrito por Smitha Dinesh Semwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA