循环赛日程表设计源代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#include
const int N=100;
int a[N][N];
void Copy(int i1,int j1,int i2,int j2,int n){
for(int k1=0;k1 for(int k2=0;k2 a[i1+k1][j1+k2]=a[i2+k1][j2+k2]; }//for }//for }///:~ void fun(int n,int k,int row,int col){ int m1=1; for(int s=1;s<=k;s++){ n/=2; for(int t=1;t<=n;t++) for(int i=m1+1;i<=2*m1;i++) for(int j=m1+1;j<=2*m1;j++){ a[i+row][j+(t-1)*m1*2+col]=a[i-m1+row][j+(t-1)*m1*2-m1+col]; a[i+row][j+(t-1)*m1*2-m1+col]=a[i-m1+row][j+(t-1)*m1*2+col]; }//for m1*=2; }//for }///:~ void Table(int m,int k){ //processing 2ek: int n=1;int j; for(int i=1;i<=k;i++) n*=2; for(i=1;i<=n*m;i++) a[1][i]=i; for(int l=0;l fun(n,k,0,l*n); //Processing m: //cout<<"m="< for(j=1;j Copy(j*n+1,(m-1)*n+1,(j-1)*n+1,1,n); for(i=0;i Copy(j*n+1,i*n+1,(j-1)*n+1,(i+1)*n+1,n); }//for }///:~ void Print(int n){ int n1; if(!(n%2)) n1=n; else n1=n+1; for(int i=1;i<=n;i++){ for(int j=1;j<=n1;j++) printf("%3d",a[i][j]); cout< }//for }///:~ void main(){ int n;int n0; cout<<"Input n:"; cin>>n0; cout< int n1;int k; if(n0%2) n=n0+1; else n=n0; for(int m=1;m<=n/2;m=m+2){ k=0; if(!(n%m)) n1=n/m; else continue; while(n1>1&&!(n1%2)){ n1/=2; k++; }//while if(n1==1) break; }//for //cout<<"m="< Table(m,k); if(n0%2){ for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(a[i][j]==n) a[i][j]=0; }//if Print(n0); }///:~