題目描述農(nóng)民約翰的母牛總是產(chǎn)生最好的肋骨。你能通過農(nóng)民約翰和美國農(nóng)業(yè)部標(biāo)記在每根肋骨上的數(shù)字認(rèn)出它們。農(nóng)民約翰確定他賣給買方的是真正的質(zhì)數(shù)肋骨,是因為從右邊開始切下肋骨,每次還剩下的肋骨上的數(shù)字都組成一個質(zhì)數(shù),舉例來說: 7 3 3 1 全部肋骨上的數(shù)字 7331是質(zhì)數(shù);三根肋骨 733是質(zhì)數(shù);二根肋骨 73 是質(zhì)數(shù);當(dāng)然,最后一根肋骨 7 也是質(zhì)數(shù)。 7331 被叫做長度 4 的特殊質(zhì)數(shù)。寫一個程序?qū)o定的肋骨的數(shù)目 N (1<=N<=8),求出所有的特殊質(zhì)數(shù)。數(shù)字1不被看作一個質(zhì)數(shù)。輸入輸出格式輸入格式:單獨的一行包含N。輸出格式:按順序輸出長度為 N 的特殊質(zhì)數(shù),每行一個。輸入輸出樣例輸入樣例#1:4輸出樣例#1:2333233923932399293931193137373337393793379759397193733173337393題解:這道題用簡單的深搜即可,先判斷一下是不是質(zhì)數(shù)。var n:longint; a:array[1..8,1..4] of longint; b:array[1..8] of longint;PRocedure init;var i,j:longint;begin readln(n); a[1,1]:=2; a[1,2]:=3; a[1,3]:=5; a[1,4]:=7; for i:=2 to 8 do begin a[i,1]:=1; a[i,2]:=3; a[i,3]:=7; a[i,4]:=9; end;end;function ss(x:longint):boolean;var j:longint;begin ss:=true; for j:=2 to trunc(sqrt(x)) do if x mod j=0 then begin ss:=false; break; end;end;procedure dfs(dep,s:longint);var i,j,k:longint;begin if dep>n then begin for i:=1 to n do write(b[i]); writeln; exit; end; for i:=1 to 4 do if ss(s*10+a[dep,i]) then begin b[dep]:=a[dep,i]; dfs(dep+1,s*10+a[dep,i]); end;end;begin init; dfs(1,0);end.