- 1
- 0
- 约9.84千字
- 约 9页
- 2023-05-04 发布于上海
- 举报
PAGE
PAGE 1
回朔算法
1、本程序在3*3 防个中填入数字 0~N 内的某 9 个互不相同的整数,使所有相邻两个方格内的两个整数之和为质数,试求出满足这个要求的所有填法,如
0 1 2
3 4 5
6 7 8
int b[13]; int pos; int a[9];
checkm[][3]={{-1},{0,-1},{1,-1},{0,-1},{1,3,-1},{2,4,-1},{3,-1},{4,6,-1},{5,7,-1}};
void write(int a[])
{ int i,j;
for(i=0;i3;i++)
{for(j=0;j3;j++) printf(“%3d”,a[3*i+j]); printf(“\n”);}}
int isprime(int m)
{ int i;
if(m==2) return 1;
if(m==1||m%2==0) return 0;
for(i=3; i*i=m; ) { if(m%i==0) return 0; i+=2;} return 1; }
int selectnum(int start)
{ int j;
for(j=start;j=12;j++) if(b[j]) return j; return 0; }
int check()
{ int i,j;
for(i=1;(j= (1) )=0;i++) if(!isprime(a[pos]+a[j])) (2) ;
(3) ; }
extend()
{ a[ (4) ]=selectnum(1); b[a[pos]]=0;} void change()
{ int j;
while(pos=1(j=selectnum( (5) ))==0) (6) ; if(pos0) return;
b[a[pos]]=1; a[pos]=j; b[j]=0; } find()
{int ok=1; pos=0; a[pos]=1; b[a[pos]]=0; do{ if(ok)
if( (7) ) {write(a); change(); } else extend();
else change(); ok=check(pos);}while(pos=0);}
void main()
{ int i;
for(i=1;i=12;i++)
b[i]=1;
find(); }
2、 A
B F
6
1
4
C D E
3
2
5
将 A、B、C、D、E、D6 个变量排成如图 1,这 6 个变量分别取[1,6]上的整数,且各不相同,找出使三角形三条边上的三个数之和相等的所有解。
int A,B,C,D,E,F;
int *pt[]={A,B,C,D,E,F}; main()
{ int b[7],j,k,c=0;
for(j=0;j=6;j++) b[j]=0; k=0;j=1; while(1) {if(!b[j])
{b[ (1) ]=1;
if(k6-1) {k++; j=1; continue;} if(A+B+C==C+D+EA+B+C==E+F+A)
{printf(“%d\n\t\t%6d\n\t\t%4d%4d\n\t\t%2d%4d%4d\n\n”,++c,A,B,F,C,D,E); scanf(“%*c”);}
do{ b[*pt[ (2) ]]=0; if(k0) (3) ;
for(j=*pt[k]+1; (4) ;j++);
if( (5) ) break; }while(1); if(k0) break;
b[*pt[ (6) ]]=0; j= (7) ; } else while(++j=6b[j]);}}
3、本程序列举从整数 0 到 n-1 中任取 r 个整数的所有组合。设求得组合中的各数分别存储
于数组 C 的 C
,C ,…C 中,并假定 C C …C ,则 C =n-r+i(0=ir)。如,n=5,r=3,
0 1 r-1 0 1 r-1 i
则产生序列 012,013,014,023,024,034,123,124,134,234。
void enumall(int n,int r)
{ int i,j,c[100];
for(j=0;jr;j++) c[j]=j; for(j=0;jr;j++) printf(“\t%d”,c[j]); printf(“\n”); i= (1) ;
do{ if( (2) )
{ c[i]++;
for(j= (3) ;jr;j++) (4) ;
main()
for(j=0;jr;j++) printf(“\t%d”,c[j]);
print
您可能关注的文档
- 幻灯片的制作教学设计.docx
- 换个角度看世界作文.docx
- 换个角度看问题事例.docx
- 换脸分析和总结.docx
- 换热器的设计.docx
- 换热站设备维护方案说明.docx
- 换填垫层法计算书.docx
- 换填土工程施工组织设计方案.docx
- 换一种眼光记叙文作文.docx
- 换座位的作文.docx
- CN118809551B 一种环抱式管道外爬行机器人及其爬行、避障、转弯方法 (安徽省特种设备检测院).pdf
- CN118708673B 基于ai模型的行政事业单位内控信息管理方法及系统 (北京正成科技有限公司).pdf
- CN118822845B 一种基于描述符匹配的视频图像拼接方法 (山东科技大学).pdf
- CN118840698B 一种提高监控视频ai分析准确度和效率的方法及系统 (朗坤智慧科技股份有限公司).pdf
- CN118703438B 一种活化和扩增自然杀伤细胞的方法及其用途 (星奕昂(上海)生物科技有限公司).pdf
- CN118693860B 一种基于全品类电源接入模型的能流平衡控制方法及装置 (广东电网有限责任公司汕尾供电局).pdf
- CN118689840B 一种申威平台根文件系统写入筛选的实现方法 (中电科申泰信息科技有限公司).pdf
- CN118676344B 一种锂离子电池用长循环石墨负极材料的制备方法 (青岛泰达华润新能源科技有限公司).pdf
- CN118831585B 一种具有近红外光催化性能的富含空穴的氧化钼纳米片及其制备方法和应用 (上海交通大学).pdf
- CN118823880B 基于信息熵导向的无监督人体动作识别方法及装置 (深圳大学).pdf
原创力文档

文档评论(0)