首页 > 其他 > 详细

数组全排列 knuth 分解质因数

时间:2014-09-04 20:44:00      阅读:334      评论:0      收藏:0      [点我收藏+]
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 分解质因数

原文:http://www.cnblogs.com/yi-meng/p/3956774.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!