给定数字n,程序员的任务是以成对出现的方式打印数字因子。一对表示该对的乘积应产生数字本身;
例子:
Input : 24
Output : 1*24
2*12
3*8
4*6
Input : 50
Output : 1*50
2*25
5*10
此程序最简单的方法是,我们运行一个从1到N的平方根的循环,然后打印并打印’i’和’N%i’(如果数字N除以’i’)。
我们给出循环直到N的平方根的数学原因如下:
如果a * b = N其中1
N = ab≥a ^ 2⇔a ^ 2≤N⇔a≤√N
C++
// CPP program to print prime factors in
// pairs.
#include
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
Javascript
输出:
1*24
2*12
3*8
4*6