请帮我找一下我哪里错了。 设计函数int factors(int num,int k),返回整数num中包含因子k的个数,如果没有该因子,则返回0


/*设计函数int factors(int num,int k),返回整数num中包含因子k的个数,如果没有该因子,则返回0
例如:factors(8,2)=3*/

#include
using namespace std;


int factor(int num, int k)
{
    for (int i = 1;num>=(k^i); i++)
    {
        if (num == (k ^ i))
        {
            break;
            return i;
        }
        else if (num != (k ^ i))return 0;        
    }    
}

int main3()
{
    int a, b;
    cout << "please enter an intiger" << endl;
    cin >> a;
    cout << "请输入一个因子" << endl;
    cin >> b;
    int c = factor(a, b);
    cout << "包含该因子的个数为" << c << endl;
    system("pause");

    return 0;
}

c++ 没有次方运算符 ^
你要计算次方的话需要用函数
pow(x,n) 计算 x 的 n 次方