推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

178个经典c语言源代码+算法大全

更新时间:2023-11-22 13:21:49 大小:188K 上传用户:sun2152查看TA发布的资源 标签:c语言 下载积分:2分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

178个经典c语言源代码+算法大全 算法大全(C,C++) 一、 数论算法 1.求两数的最大公约数 function gcd(a,b:integer):integer; begin if b=0 then gcd:=a else gcd:=gcd (b,a mod b); end ; 2.求两数的最小公倍数 function lcm(a,b:integer):integer; begin if a0 do inc(lcm,a); end; 3.素数的求法 A.小范围内判断一个数是否为质数: function prime (n: integer): Boolean; var I: integer; begin for I:=2 to trunc(sqrt(n)) do if n mod I=0 then begin prime:=false; exit; end; prime:=true; end; B.判断longint范围内的数是否为素数(包含求50000以内的素数表): procedure getprime; var i,j:longint; p:array[1..50000] of boolean; begin fillchar(p,sizeof(p),true); p[1]:=false; i:=2; while i<50000 do begin if p[i] then begin j:=i*2; while j<50000 do begin p[j]:=false; inc(j,i); end; end; inc(i); end; l:=0; for i:=1 to 50000 do if p[i] then begin inc(l);pr[l]:=i; end; end;{getprime} function prime(x:longint):integer; var i:integer; begin prime:=false; for i:=1 to l do if pr[i]>=x then break else if x mod pr[i]=0 then exit; prime:=true; end;{prime} 二、图论算法 1.最小生成树 m算法: procedure prim(v0:integer); var lowcost,closest:array[n] of integer; i,j,k,min:integer; begin for i:=1 to n do begin lowcost[i]:=cost[v0,i]; closest[i]:=v0; end; for i:=1 to n-1 do begin {寻找离生成树最近的未加入顶点k} min:=maxlongint; for j:=1 to n do if (lowcost[j]0) then begin min:=lowcost[j]; k:=j; end; lowcost[k]:=0; {将顶点k加入生成树} {生成树中增加一条新的边k到closest[k]} {修正各点的lowcost和closest值} for j:=1 to n do if cost[k,j]0 do begin i:=find(e[q].v1);j:=find(e[q].v2); if i<>j then begin inc(tot,e[q].len); vset[i]:=vset[i]+vset[j];vset[j]:=[]; dec(p); end; inc(q); end; writeln(tot); end; 2.最短路径 A.标号法求解单源点最短路径: var a:array[n,n] of integer; b:array[n] of integer; {b[i]指顶点i到源点的最短路径} mark:array[n] of boolean; procedure bhf; var best,best_j:integer; begin fillchar(mark,sizeof(mark),false); mark[1]:=true; b[1]:=0;{1为源点} repeat best:=0; for i:=1 to n do If mark[i] then {对每一个已计算出最短路径的点} for j:=1 to n do if (not mark[j]) and (a[i,j]>0) then if (best=0) or (b[i]+a[i,j]0 then begin b[best_j]:=best;mark[best_j]:=true; end; until best=0; end;{bhf} yed算法求解所有顶点对之间的最短路径: procedure floyed; begin for I:=1 to n do for j:=1 to n do if a[I,j]>0 then p[I,j]:=I else p[I,j]:=0; {p[I,j]表示I到j的最短路径上j的前驱结点} for k:=1 to n do {枚举中间结点} for i:=1 to n do for j:=1 to n do if a[i,k]+a[j,k]0 then pre[i]:=v0 else pre[i]:=0; end; mark[v0]:=true; repeat {每循环一次加入一个离1集合最近的结点并调整其他结点的参数} min:=maxint; u:=0; {u记录离1集合最近的结点} for i:=1 to n do if (not mark[i]) and (d[i]0 then begin mark[u]:=true; for i:=1 to n do if (not mark[i]) and (a[u,i]+d[u]表示,则Ee[I] = Ve[j]; d. 边活动最晚开始时间 El[I], 若边I由表示,则El[I] = Vl[k] – w[j,k]; 若 Ee[j] = El[j] ,则活动j为关键活动,由关键活动组成的路径为关键路径。 求解方法: a. 从源点起topsort,判断是否有回路并计算Ve; b. 从汇点起topsort,求Vl; c. 算Ee 和 El;

部分文件列表

文件名大小
178个经典c语言源代码+算法大全/
178个经典c语言源代码+算法大全/源代码/
178个经典c语言源代码+算法大全/源代码/178个经典c语言源代码/
178个经典c语言源代码+算法大全/源代码/178个经典c语言源代码/1998.C1KB
178个经典c语言源代码+算法大全/源代码/178个经典c语言源代码/A22.C
178个经典c语言源代码+算法大全/源代码/178个经典c语言源代码/A23.C
178个经典c语言源代码+算法大全/源代码/178个经典c语言源代码/A24.C
178个经典c语言源代码+算法大全/源代码/178个经典c语言源代码/A25.C
178个经典c语言源代码+算法大全/源代码/178个经典c语言源代码/A26.C
178个经典c语言源代码+算法大全/源代码/178个经典c语言源代码/ADD_F.C1KB
178个经典c语言源代码+算法大全/源代码/178个经典c语言源代码/ARF.C1KB
...

【关注B站账户领20积分】

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单
  • 柏涵 打赏1.00元   2天前

    资料:XDS100_v1_1_RTM

  • 21ic下载 打赏310.00元   2天前

    用户:jh0355

  • 21ic下载 打赏310.00元   2天前

    用户:w178191520

  • 21ic下载 打赏210.00元   2天前

    用户:gsy幸运

  • 21ic下载 打赏210.00元   2天前

    用户:zhengdai

  • 21ic下载 打赏210.00元   2天前

    用户:jh03551

  • 21ic下载 打赏110.00元   2天前

    用户:liqiang9090

  • 21ic下载 打赏60.00元   2天前

    用户:sun2152

  • 21ic下载 打赏60.00元   2天前

    用户:xuzhen1

  • 21ic下载 打赏80.00元   2天前

    用户:xzxbybd

  • 21ic下载 打赏25.00元   2天前

    用户:WK520077778

  • 21ic下载 打赏20.00元   2天前

    用户:w1966891335

  • 21ic下载 打赏20.00元   2天前

    用户:铁蛋锅

  • 21ic下载 打赏20.00元   2天前

    用户:玉落彼岸

  • 21ic下载 打赏15.00元   2天前

    用户:kk1957135547

  • 21ic下载 打赏10.00元   2天前

    用户:zpf22332

  • 21ic下载 打赏5.00元   2天前

    用户:pangpidan

  • 21ic下载 打赏5.00元   2天前

    用户:hpxny

  • 21ic下载 打赏5.00元   2天前

    用户:pandq2009

  • 21ic下载 打赏5.00元   2天前

    用户:tomp

  • 21ic下载 打赏310.00元   2天前

    用户:小猫做电路

推荐下载