Đến nội dung

The Dark Hunter

The Dark Hunter

Đăng ký: 17-03-2016
Offline Đăng nhập: 06-10-2016 - 23:03
-----

Trong chủ đề: cách tìm nghiệm của hệ phương trình

20-08-2016 - 23:34

rút x hoặc y ra thế vào pt còn lại


Trong chủ đề: TOPIC: Tổng hợp bài tập PASCAL

18-08-2016 - 08:29

* Lỗi ở đây là do số nguyên tố ghép đó lớn hơn kiểu dữ liệu trong chương trình !

Có hai cách giải quyết:

- Nghĩ cách làm sao để sử dụng được kiểu dữ liệu lớn hơn để giải quyết vấn đề trên (vẫn sử dụng thuật toán cũ)

- Nghĩ một thuật toán mới, tối ưu hơn thuật toán cũ và sử dụng kiểu dữ liệu lớn hơn.

* Nếu bạn muốn người khác suy nghĩ, cải tiến theo hướng thuật toán của bạn thì ít nhất bạn cũng phải nói ý tưởng của mình. Chứ nhìn vào chương trình thì ai mà biết bạn đang làm gì ? có tác dụng gì ? ...vv 

thì mình làm như bình thường :kiểm tra số nguyên tố rồi ghép với số nguyên tố trước nó xong kiểm tra số ghép có phải số nguyên tố không

nếu đúng thì tăng j,nếu j=k thì chương trình dừng


Trong chủ đề: TOPIC: Tổng hợp bài tập PASCAL

15-08-2016 - 22:53

Số nguyên tố ghép

Xét dãy A các số nguyên tố  2, 3, 5, 7, 11, 13, 17, 19,...

và dãy B gồm các số thu được từ dãy A bằng cách ghép hai số liên tiếp trong A: 23, 57, 1113, 1719, ...

Trong dãy B có những phần tử là số nguyên tố. Chẳng hạn 23, 3137, 8389, 157163...

Các số nguyên tố trong dãy B gọi là số nguyên tố ghép.

Yêu cầu: Cho trước số nguyên dương K ≤ 500, hãy tìm số nguyên tố ghép thứ K.

Input

Output

2

3137

ai nghĩ hộ thuật toán bài này dc ko?
Mk làm rồi nhưng k lớn thì chịu  :(
program wanted;
uses crt;
var a,i,j,k:longint;
function ktra(x:longint):boolean;
var i:longint;
begin
ktra:=true;
for i:=2 to trunc(sqrt(x)) do
if x mod i=0 then
   begin
   ktra:=false;
   exit;
   end;
end;
function ghepso(x1,x2:longint):longint;
var s1,s2,s:string;a:longint;c:integer;
begin
str(x1,s1);str(x2,s2);
s:=s1+s2;
val(s,a,c);
ghepso:=a;
end;
begin
clrscr;
write('nhap k=');
readln(k);
j:=0;a:=2;i:=2;
repeat
      begin
      if ktra(i) then a:=i;
         inc(i);
      if (ktra(i)) and (ktra(ghepso(a,i))) then
       inc(j);
      end;
until j=k;
writeln('so nguyen to ghep thu k la:',ghepso(a,i));
readln
end.

Trong chủ đề: Chuỗi gần đúng

15-08-2016 - 22:45

Nhận xét:

- Các TH khác thì không biết thế nào nhưng nếu nhập từ kiểm tra là "misspelled" và từ gốc là "mispeld" , sai số là 30. Thì kết quả ra là sai !

* Nói chung thuật toán vẫn chưa chính xác lắm !

cái chỗ:

else
       begin
       S:=0;break;
       end;
quên ko để ý S:=100 mới đúng 

Trong chủ đề: Chuỗi gần đúng

13-08-2016 - 22:30



 

Lỗi ở đây là không đọc được file. Dạo này đang chán và mệt nên nhác nghĩ, mình cho bạn coi cái code của mình về bài này hồi ôn.Nhưng chưa chuẩn xác lắm đâu nhưng nhìn đơn giản hơn nhiều.Bạn có gắng tự xử nhé, lúc nào rảnh thì mình làm cho :]

Code:

 

program chuoi_gan_dung;
uses crt;
var a,b:array[1..100] of string;
s,st:string;
i,n,m,k,p,l,j:integer;
begin
clrscr;
write('Nhap so % :');readln(m);
write('Nhap xau goc :');readln(s);
write('Nhap so xau can xac dinh :');readln(n);
p:=0;
for i:=1 to n do
        begin
        write('nhap xau a[',i,']=');readln(a[i]);
        st:=a[i];
        l:=1;
        j:=1;
        k:=0;
        while (l<=length(s))and(j<=length(st)) do
        if s[l]=st[j] then
        begin
        l:=l+1;
        j:=j+1;
        end else
                begin
                j:=j+1;
                k:=k+1;
                end;
        if (k/length(st))*100<=m  then
        begin
        p:=p+1;
        b[p]:=st;
        end;
        end;
for i:=1 to p do
writeln(b[i]);
readln
end.
P/s: Bạn sửa lại nội dung ví dụ nhé .Thân !

 

thuật toán dễ hiểu đấy