首页 > 代码库 > 数组全排列 knuth 分解质因数
数组全排列 knuth 分解质因数
template<typename T>void swap(T* a, T* b){ T temp = *a; *a = *b; *b = temp;}//数组的全排列void perm(int list[], int k, int m){ if (k==m) { copy(list,list+m,ostream_iterator<int>(cout," ")); cout<<endl; return; } for (int i=k; i<m; i++) { if(list[k] == list[i] && k != i) continue; swap(&list[k],&list[i]); perm(list,k+1,m); swap(&list[k],&list[i]); }}
void knuth(int n, int m)
{
srand((unsigned int)time(0));
for (int i=0; i<n; i++)
{
if (rand()%(n-i)<m)
{
cout<<i<<endl;
--m;
}
}
}
以下prim函数的功能是分解质因数。请填空
void prim(int m, int n)
{
if (m>n)
{
while ( ) n++;
;
prim(m,n);
cout<<n<<endl;
}
}
分别为:m%n 和 m/=n
数组全排列 knuth 分解质因数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。