Cho dãy số nguyên a= (a1,a2,...,an) , 1 <=n<=10000.
Yêu cầu: Hãy tìm số nguyên tố lớn nhất của dãy.
-Dòng 1: Chứa số n.
- Dòng 2: Chứa n số a1,..an cách nhau ít nhất một dấu cách
Kết quả: Ghi ra file text NTOMAX.OUT.
Chỉ gồm 1 dòng ghi số nguyên tố lớn nhất
* Mình cần rất gấp. Giúp mình với. Cảm ơn các bạn nhiều!
bài này mới đúng nhe bạn:
program sntmax;
uses crt;
var n,i:word;
a:array[1..10000] of longint;
max:longint;
f:text;
function ktsnt(b:longint):boolean;
var dem,j:byte;
begin
dem:=0;
for j:=1 to b do
if b mod j =0 then dem:=dem+1;
ktsnt:=dem=2;
end;
begin
clrscr;
readln(n);
while (n<1) or (n>10000) do readln(n);
for i:=1 to n do read(a[i]);
readln;
assign(f,'D:\NTOMAX.OUT');
rewrite(f);
max:=0;
for i:=1 to n do
if ktsnt(a[i])=true then
begin
max:=a[i];
break;
end;
if max=0 then write(f,'khong co so nguyen to trong mang')
else
begin
for i:=1 to n do
if (ktsnt(a[i])=true) and (a[i]>max) then max:=a[i];
write(f,max);
end;
close(f);
readln;
end.
cho mk hỏi dãy và n được nhập trong pascal hay trong tệp?
program sntmax;
uses crt;
var n,i:word;
a:array[1..10000] of longint;
max:longint;
f:text;
function ktsnt(b:longint):boolean;
var dem,j:byte;
begin
dem:=0;
for j:=1 to b do
if b mod j =0 then dem:=dem+1;
ktsnt:=dem=2;
end;
begin
clrscr;
readln(n);
for i:=1 to n do read(a[i]);
readln;
assign(f,'D:\NTOMAX.OUT');
rewrite(f);
max:=0;
for i:=1 to n do
if ktsnt(a[i])=true then
begin
max:=a[i];
break;
end;
for i:=1 to n do
if (ktsnt(a[i])=true) and (a[i]>max) then max:=a[i];
write(f,max);
close(f);
readln;
end.