[C++ 平时小练习] 写一个函数gene 用于输出正整数的全部因子,例如当k=126时,如下格式输出126=2*3*3*7

写的比较乱。

#include <iostream>

using namespace std;

int* gene(int);

int main()
{
	cout << "Please enter the num you want to get it yizi: ";
	int num ;
	cin >> num;
	int* yiziarray;
	yiziarray= gene(num);
	int index = 0;

	cout << num << " = ";
	while (*(yiziarray+index ))
	{
		cout << *(yiziarray+index ) ;
		index ++;
		if (*(yiziarray+index ))
		{
			cout << " * ";
		}
	}
	cout << endl;
	delete yiziarray;
	return 0;
}

int* gene(int num)
{
	//int yinzi[10] ;
	int* yinzi = new int[10];
	int index = 0;
	int loopnum = num;
	int i =2;
	for (; i <= loopnum / 2 ; )
	{
		if (num % i == 0)
		{
			yinzi[index] = i;
			num = num / i ;
			i = 2;
			index ++;
		}
		else
		{
			i++;
		}
	}
	yinzi[index] = '\0';

	return yinzi;
}
原文地址:https://www.cnblogs.com/lovepurple/p/2985730.html