QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4482|回复: 3
打印 上一主题 下一主题

排列组合算法问题

[复制链接]
字体大小: 正常 放大
sir_tian        

4

主题

3

听众

474

积分

该用户从未签到

元老勋章

跳转到指定楼层
1#
发表于 2008-5-3 00:14 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
题目是:
输入一个偶数2k,输出满足下列条件的数:
e[1]+e[2]=
e[2]+e[3]+e[2k]=
e[3]+e[4]=
e[4]+e[5]=
e[5]+e[6]=
.....
e[2k-2]+e[2k-1]=
e[2k-1]+e[2k]+e[1]=
其中e在{-1,1,2,-2,...k,-k}取值
等号右面的数在{0,-1,1,-2,2,...-(k-1),k-1}中取值。
例:(当输入的偶数为2k=8时)
e1=-1;
e2=3;
e3=4;
e4=-3;
e5=1;
e6=-2;
e7=2;
e8=-4.
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
sir_tian        

4

主题

3

听众

474

积分

该用户从未签到

元老勋章

#include<iostream.h>
#include <conio.h>
#include<math.h>

void Swap ( int &a ,int & b)

{

int temp = a; a = b; b = temp;

}
void Perm(int e[], int k, int m,int b[],int k1,int m1)
{
if( k1== m1 )
{
if(k==m)
{
int flag,i;
for( i=3;i<m-1;i++)
{
if ((e+e[i+1])==b) {flag=1;continue;}else {flag=0;break;}
; J- a" U% T9 z6 {
}

if (i==m-1)
if((e[1]+e[2])==b[1])
if((e[m-1]+e[m]+e[1])==b[m-1]){
for(int j=1;j<=m;j++)
{
cout<<e[j]<<" ";
}
cout<<endl;
}
}
else
{
for ( int i = k; i <= m; i ++)
{

Swap( e[k],e );
! o+ ?9 M$ L3 w1 k/ R3 Q8 t: U
Perm( e,k + 1, m,b,k1,m1 ) ;

Swap( e[k], e );

}
}
}

else
{

9 D9 P; I9 Z$ n& t1 l U3 C, m0 [
4 I d! ?$ h% N8 Y/ ^
for ( int j= k1; j<= m1; j ++)
{

Swap( b[k1],b[j] );
! D0 v9 F3 z- c+ m$ w
Perm( e,k , m,b,k1+1,m1 ) ;

Swap( b[k1], b[j] );

}


}

}

void main()
{
int n,c=-1,d=1,i,j;
cout<<"请输入一个大于2的偶数n:\n";
cin>>n;
int e[20];
int b[20];
/* e[1]=6;
e[2]=-1;
e[3]=5;
e[4]=-2;
e[5]=4;
e[6]=-3;
e[7]=3;
e[8]=-4;
e[9]=2;
e[10]=-5;
e[11]=1;
e[12]=-6;*/
for(i=1;i<=n;i++)
{
e=c*(i+1)/2;
c=-c;
}
* ^; I9 S1 |+ n/ B) G/ ^3 v" u% M) r3 u2 B
for(j=1;j<n;j++)
{
b[j]=d*(j/2);
d=-d;
}
int m1=n-1;
int m=n;
int k=1;int k1=1;
Perm(e,k,m,b,k1,m1);
cout<<endl<<"敲任意键(除回车键)退出..."<<endl;
getch();

$ Z4 w, |+ [ G9 `1 ~7 n) u
, j6 l- S1 T8 i6 q8 I" R9 V: L
}

回复

使用道具 举报

gssdzc 实名认证       

0

主题

2

听众

941

积分

升级  85.25%

该用户从未签到

群组兰州大学数学建模协会

回复

使用道具 举报

53

主题

3

听众

495

积分

升级  65%

  • TA的每日心情
    郁闷
    2012-5-29 22:48
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    自我介绍
    大家好,我是自强君子。我喜欢数学,喜欢中国古文化,特别是春秋战国时期的文化,喜欢下围棋,打篮球。自强不息,厚德载物。

    群组数学专业考研加油站

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-26 03:15 , Processed in 1.584578 second(s), 69 queries .

    回顶部