⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 25_gong.cpp

📁 列句25宫的所有组合。 每行,每列,和对角线 数字和为25。
💻 CPP
字号:
//===========5 宫------------
// 每行,每列,和对角线 数字和为25.
//=====================================
#include "stdio.h"
#include "conio.h"
#include "process.h"
#include "dos.h"
#include "stdlib.h"

int num[25];

int getnum(int n){
	int i,j;
	for(i=0;i<n-1;i++)
		for(j=i+1;j<n;j++)
			if(num[i]==num[j]) return 0;
	return 1;
}

const oushu[]={2,6,8,12,14,18,20,24};
const jishu[]={2,5,9,11,15,17,21,23};

void main(int argc,char *argv[])
{
	int gong,gonnum=0;
	int i,i1,i2,i3,i4,i5,i6,i7,i8;
	int Maxhe;
	char ch;
	int exitnum;
	FILE *fp;
	fp=fopen("1.asm","wt");

	clrscr();
	if(argc==2){
		gong=5;
		Maxhe=65;
		num[12]=13;
	}
	else	{
//		gong=3;
//		Maxhe=15;
//		num[4]=5;
		gong=5;
		Maxhe=65;
		num[0]=16;
		num[2]=1;
		num[4]=22;
		num[10]=19;
		num[12]=13;
		num[14]=7;
		num[20]=4;
		num[22]=25;
		num[24]=10;
	}
	printf("... START ...\n");
	while (1)
	{
	for(i1=0;i1<8;i1++){
	num[1]=oushu[i1];
	num[3]=26-num[1];

	for(i2=0;i2<8;i2++){
	num[5]=oushu[i2];
	num[15]=26-num[5];

	for(i5=0;i5<8;i5++){
	num[21]=oushu[i5];
	num[23]=26-num[21];

	for(i4=0;i4<8;i4++){
	num[9]=oushu[i4];
	num[19]=26-num[9];

	for(i3=0;i3<8;i3++){
	num[7]=jishu[i3];
	num[17]=26-num[7];

	for(i6=0;i6<8;i6++){
	num[6]=jishu[i6];
	num[18]=26-num[6];

	for(i7=0;i7<8;i7++){
	num[11]=jishu[i7];
	num[13]=26-num[11];

	for(i8=0;i8<8;i8++){
	num[8]=jishu[i8];
	num[16]=26-num[8];

	if(getnum(25)&&
	  (num[5]+num[6]+num[7]+num[8]+num[9]==65)&&
	  (num[15]+num[16]+num[17]+num[18]+num[19]==65)&&
	  (num[1]+num[6]+num[11]+num[16]+num[21]==65)&&
	  (num[3]+num[8]+num[13]+num[18]+num[23]==65))
	   {
			gonnum++;
			printf("%3d\n",gonnum);
			fprintf(fp,"%3d\n",gonnum);
			for(i=0;i<25;i++){
			printf("%4d",num[i]);
			fprintf(fp,"%4d",num[i]);
			if(i%5==4){
				printf("\n");
				fprintf(fp,"\n");
				}
			}
			printf("\n");
			fprintf(fp,"\n");
//			ch=getch();
//			if(ch=='q') exit(1);
	   }
	}}}}}}}
	exitnum++;
	if(exitnum==8) exit(0);
	}
	}
	fclose(fp);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -