Bài 4: Trò chơi tìm số (5.0 điểm)
An chọn ra một số nguyên tố p (p < 100) và đem dấu vào một xâu kí tự St sao cho p là số nguyên tố lớn nhất trong dãy các số nguyên tố được tạo từ các xâu con của St (xâu con của một xâu kí tự St là một dãy liên tiếp các kí tự trong St). An cho Nam biết xâu St và đố Nam tìm được số nguyên tố p mà An đã chọn.
Chẳng hạn, An chọn số p = 23 và dấu vào xâu St = ‘tesst1234#password5426’
Yêu cầu: Hãy giúp Nam tìm số nguyên tố p
Tệp tin bài làm: BAI4.PAS
Dữ liệu vào: Vào từ file văn bản TIMSO.INP gồm một dòng chứa xâu St có độ dài không quá 200 kí tự.
Dữ liệu ra: Ghi ra file văn bản TIMSO.OUT số nguyên tố p tìm được. Nếu nhập xâu St sai so với điều kiện thì thông báo ra tệp TIMSO.OUT số -1.
Ví dụ:
TIMSO.INP TIMSO.OUT
tesst1234#password5426 23
---------------------------------------------------------------------------------------------
pascal (ko dùng hàm và thủ tục,ko cần ghi ra file đâu)
ai làm nhanh đúng cho cthn
uses crt;
var isPrime: array[1..100] of boolean;
i,j,res,toInt: integer;
s,t: ansistring;
begin
for i := 1 to 100 do isPrime[i] := true;
isPrime[1] := false;
isPrime[2] := true;
for i := 3 to 100 do
for j := 2 to i - 1 do
if (i mod j) = 0 then begin
isPrime[i] := false;
break;
end;
readln(s);
if length(s) > 200 then
begin
write(-1);
halt;
end;
res := -1;
t := '';
for i := 1 to length(s) do
if (ord(s[i]) - 48 >= 0) and (ord(s[i]) - 48 <= 9) then
for j := i to length(s) do
if (ord(s[j]) - 48 >= 0) and (ord(s[j]) - 48 <= 9) and (length(t) <= 1) then begin
t := t + s[j];
if length(t) = 1 then toInt := ord(t[1]) - 48
else toInt := (ord(t[1]) - 48)*10 + (ord(t[2]) - 48);
if (isPrime[toInt]) and (toInt > res) then res := toInt;
end else begin
t := '';
break;
end;
write(res);
end.
Tin học là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng. Tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!
Lớp 7 - Năm thứ hai ở cấp trung học cơ sở, một chuỗi quay mới lại đến và chúng ta vẫn bước tiếp trên con đường học sinh. Học tập vẫn là nhiệm vụ chính, hãy luôn kiên trì và không ngừng cố gắng!
Copyright © 2024 Giai BT SGK