使用C 中的函数来找到整数的因素

Finding factors to an integer using functions in c++

本文关键字:整数 函数 使用      更新时间:2023-10-16

我正在尝试为给定整数打印因子。作为输出,我应该打印该数字的输入号和因子。相反,我获得了2的输出。

我在哪里犯了一个错误?

我是C 的新手,任何帮助都将不胜感激。

代码:

#include<iostream>
int fact(int x);
using namespace std;
int main()
{
    int x;
    cout<<"plz,enter no."<<endl;
    cout<<fact(x)<<endl;
}
int fact(int num)
{
    for ( int i = 2; i <= num; ++i )
    {
        while ( num % i == 0 )
        {
            num /= i;
            std::cout << i << std::endl;
        }
    }
}

我使您的代码工作。但是您可以仅运行sqrt(num)迭代来改进此代码。

#include<iostream>
int fact(int x);
using namespace std;
int main()
{
    int x;
    cout<<"plz,enter no."<<endl;
    cin >> x;
    cout << "Factors: ";
    fact(x);
}
int fact(int num)
{
    for ( int i = 1; i <= num; ++i )
    {
        if ( num % i == 0 )
        {
            std::cout << i << " ";
        }
    }
    cout << endl;
}