Số siêu nguyên tố là số nguyên tố mà khi bỏ một số tuỳ ý các chữ số bên phải của nó thì phần còn lại vẫn tạo thành một số nguyên tố. Ví dụ 7331 là một số siêu nguyên tố có 4 chữ số vì 733, 73, 7 cũng là các số nguyên tố. Nhiệm vụ của bạn là viết chương trình nhập dữ liệu vào là một số nguyên N (0< N <10) và đưa ra kết quả là một số siêu nguyên tố có N chữ số cùng số lượng của chúng. Answers ( )
Số siêu nguyên tố là số nguyên tố mà khi bỏ một số tuỳ ý các chữ số bên phải của nó thì phần còn lại vẫn tạo thành một số nguyên tố. Ví dụ 7331 là một số siêu nguyên tố có 4 chữ số vì 733, 73, 7 cũng là các số nguyên tố. Nhiệm vụ của bạn là viết chương trình nhập dữ liệu vào là một số nguyên N (0< N <9) và đưa ra kết quả là một số siêu nguyên tố có N chữ số cùng số lượng của chúng. Ví dụ khi chạy chương trình: Nhap so N: 4¿ Cac so sieu nguyen to có 4 chu so la: 2333 2339 2393 2399 2939 3119 3137 3733 3739 3793 3797 5939 7193 7331 7333 7393
Dùng quét cạn: program sieunguyento; var n,j: longint; A,SNT:array[0..10] of longint;
Function KTNT(x:longint):boolean; var i:longint; begin if x=1 then begin KTNT:=false; exit; end else For i:=2 to trunc(sqrt(x)) do if x mod i = 0 then begin KTNT := false; exit; end; KTNT := true; end;
procedure Sieunguyento(i:integer); var j:integer; begin
for j:=1 to 9 do begin A[i]:=j; Snt[i]:=SNT[i-1]*10+ A[i]; if ktnt(Snt[i]) then if i=n then writeln(Snt[i]) else Sieunguyento(i+1); end; end;
begin n := 8; SNT[0]:=0; Sieunguyento(1); readln end. Dùng mảng: var A,B: array[1..100] of longint; dem,i,j,n,k,c: byte; Function KTNT(x:longint):boolean; var i:longint; begin if x=1 then begin KTNT:=false; exit; end else For i:=2 to trunc(sqrt(x)) do if x mod i = 0 then begin KTNT := false; exit; end; KTNT := true; end; begin write(‘nhap n: ‘); readln(n); dem := 1; For k:=1 to n do begin for i:= 1 to dem do For j:=1 to 9 do if KTNT(A[i]*10 + j) then begin inc(c); B[c]:=A[i]*10+j; end; A := B; dem:=c; c:=0; end; For i := 1 to dem do writeln(A[i]); readln end. uses crt;var kt,i,t:longint;n:int64;function NT(a:longint):boolean;var dem,i:longint; begin dem:=0; for i:=1 to a do if(a mod i=0)then inc(dem); NT:=dem=2; end;begin clrscr; write('nhap n:');readln(n); while(n<>0)and(kt=1)do begin t:=n mod 10; if(not(NT(t)))then kt:=0; n:=n div 10; end; if(kt=1)then write('n la so sieu nguyen to')else write('n khong la so sieu nguyen to'); readlnend. Hãy giúp mọi người biết câu trả lời này thế nào? starstarstarstarstarstarstarstarstarstarstarstarstarstarstarstarstarstarstarstarstarstarstarstarstarstarstarstarstarstar1starstarstarstarstar1 voteGửiHủy
uses crt;const lim = trunc(1e6);var n: longint; p: array[0..lim] of boolean;procedure sieve(n: longint);var i, j: longint;begin for i:=2 to trunc(sqrt(n)) do if not p[i] then for j:=i to n div i do p[j * i]:=true;end;function check(n: longint): boolean;var bool: boolean;begin if p[n] then exit(false); while n <> 0 do begin if p[n] = false then begin bool:=true; n:=n div 10; end else exit(false); end; exit(bool);end;beginclrscr; readln(n); sieve(lim); writeln(check(n));readln;end. |