📜  程序可成对打印多个因子

📅  最后修改于: 2021-05-06 22:45:42             🧑  作者: Mango

给定数字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