分解因数[2.2基本算法之递归1751]

分解因数[2.2基本算法之递归1751],第1张

分解因数[2.2基本算法之递归1751]

这也能ac??太开心了

divid函数,把一个数分解成2个数,为避免重复分解,引入了p来保序

只有i>=p才进行分解,否则就有重复的了

#include
using namespace std;
typedef long long ll;
ll divid(int p,int a)
{
	ll res = 0;
	for (int i = 2;i <= a / i;i++)
	{
		if (a%i == 0)
		{
			if(i>=p) res += divid(i,a / i) + 1;
		}
	}
	return res;
}
int main()
{
	int n;
	cin >> n;
	while (n--)
	{
		int a;
		cin >> a;
		cout << 1 + divid(0,a) << endl;
	}
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5698701.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存