1 / 14
文档名称:

pascal-搜索回溯.doc

格式:doc   大小:75KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

pascal-搜索回溯.doc

上传人:rjmy2261 2019/4/2 文件大小:75 KB

下载得到文件列表

pascal-搜索回溯.doc

相关文档

文档介绍

文档介绍:某集合A中的元素有以下特征:(1)数1是A中的元素(2)如果X是A中的元素,则2x+1,3x+1也是A中的元素(3)除了条件(1),(2)以外的所有元素均不是A中的元素[参考程序1]usescrt,dos;vara:array[1..10000]oflongint;b:array[1..10000]ofboolean;times,n,m,long,i:longint;hour1,minute1,second1,sec1001:word;hour2,minute2,second2,sec1002:word;beginwrite('N=');readln(n);{gettime(hour1,minute1,second1,sec1001);times:=minute1*60+second1;writeln(minute1,':',second1);}fillchar(b,sizeof(b),0);a[1]:=1;m:=2;long:=1;whilelong<=ndobeginfori:=1tolongdoif(a[i]*2=m-1)or(a[i]*3=m-1)thenifnotb[m]thenbegininc(long);a[long]:=m;b[m]:=true;break;end;inc(m);end;{gettime(hour2,minute2,second2,sec1002);times:=minute2*60+second2-times;writeln(minute2,':',second2);writeln('Ok!UsesTime:',times);}fori:=1tondowrite(a[i],'');readln;end.[参考程序2]usescrt;constn=10000;vara:array[1..n]oflongint;i,j,k,l,y:longint;beginclrscr;fillchar(a,sizeof(a),0);i:=1;j:=1;a[i]:=1;repeaty:=2*a[i]+1;k:=j;whiley〈a[k]dobegina[k+1]:=a[k];k:=k-1;end;ify>a[k]thenbegina[k+1]:=y;j:=j+1;endelseforl:=k+1tojdoa[l]:=a[l+1];j:=j+1;a[j]:=3*a[i]+1;inc(i);untilk>=n;fori:=1tondobeginwrite(a[i],'');if(imod10=0)or(i=n)thenwritelnend;end.[参考程序3]usescrt;vara:array[1..10000]oflongint;n,i,one,another,long,s,x,y:longint;beginwrite('n=');readln(n);a[1]:=1;long:=1;one:=1;another:=1;whilelongythenbegins:=y;inc(another);endelsebegins:=x;inc(one);inc(another);end;inc(long);a[long]:=s;end;fori:=1tondowrite(a[i],'');end.[参考程序4]varn:integer;top,x:longint;functioninit(x:longint):boolean;beginifx=1theninit:=trueelseif((x-1)mod2=0)and(init((x-1)div2))or((x-1)mod3=0)and(init((x-1)div3))theninit:=trueelseinit:=false;end;beginwrite('inputn:');readln(n);x:=0;top:=0;whiletop<ndobeginx:=x+1;ifinit(x)thentop:=top+1;write(x:8);end;write('outputend.');readlnend.〖问题描述〗用高精度计算出S=1!+2!+3!+...n!(n<=50)其中"!"表示阶乘,例如:5!=5*4*3*2*1要求:输入正整数N,输出计算结果S 四、搜索回溯法搜索回溯法是程序设计中最常用的一种算法,其思想方法是按一定的顺序对每阶段试探所有可能性:即从初始态出发向前搜索,如果成功则继续,否则回退一步,如此反复直至所有可能都试遍。在搜索过程中,须作标志以记住已搜索过的步骤,设栈实现回溯。算法框架 1、初始化 2、进行第一步搜索(试探) 3、判断搜索是否成功,若成功转5;若不成功,则继续 4、进行该步下一种情况搜索,若该步所有可能都搜索完则转8;否则转3 5、当前情