Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
`*` `Pascal:`
`" "`
program le_plus_grand_nombre_premier;
uses crt;
var S, temp: string;
per: array [1..255] of byte;
nom: array [1..255] of integer;
en, sor: text;
i, j, max, quan, drap: byte;
k: integer;
begin
clrscr;
assign(en, 'CAU4.INP');
reset(en);
assign(sor, 'CAU4.OUT');
rewrite(sor);
readln(en, S);
j := 1;
temp := '';
for i := 1 to length(S) do
per[i] := 0;
for i := 1 to length(S) do
begin
per[ord(S[i])] := per[ord(S[i])] + 1;
if S[i] in ['0' .. '9'] then
temp := temp + S[i]
else
begin
val(temp, nom[j]);
j := j + 1;
temp := '';
end;
end;
if S[length(S)] in ['0' .. '9'] then
begin
val(temp, nom[j]);
j := j + 1;
end;
max := 0;
quan := 0;
for i := 1 to 255 do
if per[i] <> 0 then
begin
quan := quan + 1;
if per[i] > max then
max := per[i];
end;
writeln(sor, quan);
writeln(sor, max);
quan := 0;
for i := 1 to j - 1 do
begin
drap := 1;
k := 2;
while (drap = 1) and (k <= sqrt(nom[i])) do
begin
if nom[i] mod k = 0 then
drap := 0;
k := k + 1;
end;
if (drap = 1) and (nom[i] > quan) then
quan := nom[i];
end;
if quan <> 0 then
writeln(sor, quan)
else
writeln(sor, -1);
close(en);
close(sor);
end.
$\color{#00FFFF}{\text{_________}}$ $\color{#33FFFF}{\text{_________}}$ $\color{#66FFFF}{\text{_________}}$ $\color{#99FFFF}{\text{_________}}$ $\color{#CCFFFF}{\text{_________}}$
var S, temp: string;
per: array [1..255] of byte;
nom: array [1..255] of integer;
en, sor: text;
i, j, max, quan, drap: byte;
k: integer;
`" "`
+ temp: Chuỗi để lưu tạm các cụm gồm các chữ số liền kề nhau
+ per[i]: Số lần xuất hiện của kí tự có mã ASCII là i
+ nom[i]: Cụm số thứ i xuất hiện trong xâu S
$\color{#00FFFF}{\text{_________}}$ $\color{#33FFFF}{\text{_________}}$ $\color{#66FFFF}{\text{_________}}$ $\color{#99FFFF}{\text{_________}}$ $\color{#CCFFFF}{\text{_________}}$
j := 1;
temp := '';
for i := 1 to length(S) do
per[i] := 0;
for i := 1 to length(S) do
begin
per[ord(S[i])] := per[ord(S[i])] + 1;
if S[i] in ['0' .. '9'] then
temp := temp + S[i]
else
begin
val(temp, nom[j]);
j := j + 1;
temp := '';
end;
end;
if S[length(S)] in ['0' .. '9'] then
begin
val(temp, nom[j]);
j := j + 1;
end;
`" "`
+ Khi duyệt qua mỗi kí tự:
+ per[ord(S[i])] := per[ord(S[i])] + 1: tăng số lần xuất hiện của kí tự S[i], ord(S[i]) trả về giá trị của mã ASCII của kí tự S[i]
+ temp: Lưu các ký tự số liên tiếp, khởi tạo lại rỗng khi duyệt phải kí tự không phải số, và khi gặp kí tự không phải số biến j sẽ tăng lên 1 (Kết thúc cụm số trước đó)
+ val(temp, nom[j]): Chuyển chuỗi số temp thành kiểu nguyên và lưu vào nom[j]
`" "`
+ Một chuỗi số được chuyển sang kiểu nguyên khi gặp kí tự kề kí tự cuối của chuỗi số không phải kí tự số, nếu kí tự cuối cùng của S là số thì cần thêm đoạn code sau để có thể chuyển cụm số cuối cùng của S vào nom: if S[length(S)] in ['0' .. '9'] then begin val(temp, nom[j]); j := j + 1; end;
$\color{#00FFFF}{\text{_________}}$ $\color{#33FFFF}{\text{_________}}$ $\color{#66FFFF}{\text{_________}}$ $\color{#99FFFF}{\text{_________}}$ $\color{#CCFFFF}{\text{_________}}$
max := 0;
quan := 0;
for i := 1 to 255 do
if per[i] <> 0 then
begin
quan := quan + 1;
if per[i] > max then
max := per[i];
end;
`" "`
+ max: Số lần xuất hiện nhiều nhất của 1 kí tự trong S
+ quan: Số lượng kí tự khác nhau trong S
$\color{#00FFFF}{\text{_________}}$ $\color{#33FFFF}{\text{_________}}$ $\color{#66FFFF}{\text{_________}}$ $\color{#99FFFF}{\text{_________}}$ $\color{#CCFFFF}{\text{_________}}$
quan := 0;
for i := 1 to j - 1 do
begin
drap := 1;
k := 2;
while (drap = 1) and (k <= sqrt(nom[i])) do
begin
if nom[i] mod k = 0 then
drap := 0;
k := k + 1;
end;
if (drap = 1) and (nom[i] > quan) then
quan := nom[i];
end;
if quan <> 0 then
writeln(sor, quan)
else
writeln(sor, -1);
`" "`
+ Đặt cờ ban đầu drap = 1, nếu từ 2 đến $\sqrt[]{nom[i]}$ có số mà nom[i] chia hết thì drap = 0 (nom[i] không phải nguyên tố)
+ Ban đầu quan = 0, nếu có số nguyên tố > quan thì giá trị quan sẽ thay đổi, nếu không đổi thì in -1
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
727
9783
331
idol
190
3964
452
mod ơi sửa hộ bn này môn toán `->` môn tiếng anh đc k mod `->`https://hoidap247.com/cau-hoi/7250161
5539
4780
3423
anh học Delf mấy rồi a