ai giúp mk vs 1/Con ốc sên đang ở gốc của một cái cây cao v mét tính từ gốc. Ốc sên muốn bò lên ngọn cây để ăn những lá non trên đó. Ban ngày ốc sên bò được a mét lên trên, nhưng ban đêm, khi ngủ nó bị trôi xuống dưới b mét. Yêu cầu: Cho các số nguyên v, a và b (1 ≤ b < a ≤ v ≤ 109). Hãy xác định số ngày cần thiết để ốc sên lên tới ngọn cây. Dữ liệu: Vào từ file văn bản snail.inp gồm một dòng chứa 3 số nguyên a, b và v. Kết quả: Đưa ra file văn bản snail.out một số nguyên – kết quả tìm được. Ví dụ: snail.inp snail.out 2 1 5 3 2/Bạn Huy không tập trung tư tưởng trong giờ toán vì vậy thầy giáo cho thêm bài tập về nhà rèn luyện khả năng tập trung tư tưởng và tính cẩn thận chu đáo. Nội dung bài tập là cho n xâu chỉ bao gồm các ký tự la tinh thường và chữ số. Đoạn các ký tự số liên tục tạo thành một số nguyên. Ở mỗi đoạn ký tự số liên tục Huy phải trích ra số lớn nhất có thể, sắp xếp các số nhận được từ các xâu đã cho và đưa ra theo thứ tự không giảm, mỗi số được đưa ra dưới dạng không có các số 0 không có nghĩa. Ví dụ, với n = 1 và xâu là 01a2b3456cde478 dãy số cần đưa ra là 1, 2, 478, 3456. Yêu cầu: Cho số nguyên n (1 ≤ n ≤ 100) và n xâu, mỗi xâu có độ dài không quá 100. Hãy đưa ra dãy số nhận được đã sắp xếp theo thứ tự không giảm, mỗi số trên một dòng. Dữ liệu: Vào từ file văn bản numbers.inp: Dòng đầu tiên chứa số nguyên n, Mỗi dòng trong n dòng sau chứa một xâu chỉ gồm các ký tự la tinh thường và số. Dữ liệu đảm bảo có không quá 500 số được tách ra. Kết quả: Đưa ra file văn bản NUMBERS.OUT dãy số nhận được đã sắp xếp theo thứ tự không giảm, mỗi số trên một dòng. Ví dụ: numbers.inp 4 43silos0 zita002 le2sim 231233 numbers.out 0 2 2 43 231233

2 câu trả lời

1/

uses crt;
var a, b, v: longint;
begin
    readln(a, b, v);
    
    dec(v, a); dec(a, b);
    if v <= 0 then write(1) else
        if v mod a = 0 then write(v div a) else write(v div a + 1);
    // 2 1 5 -> 3??? 4 chứ nhỉ
readln;
end.

2/

uses crt;

// Test thử :))
type Compare = function(a, b: string): boolean;

function Cmp_fc(a, b: string): boolean;
begin
    if length(a) = length(b) then exit(a < b);
    exit(length(a) < length(b));
end;

var a: array[0..1000] of string;
    i, j, size, n: longint;
    st, ss: string;

procedure add(ss: string);
begin
    if length(ss) > 0 then begin
        while (ss[1] = '0') and (length(ss) > 1) do delete(ss, 1, 1);
        inc(size);
        a[size]:=ss;
    end;
end;

procedure sort(var a: array of string; l, r: longint; Cmp: Compare);
var i, j: longint;
    x, t: string;
begin
    i:=l; j:=r; x:=a[(l + r) shr 1];
    repeat
        while Cmp(a[i], x) do inc(i);
        while Cmp(x, a[j]) do dec(j);
        if i <= j then begin
            t:=a[i]; a[i]:=a[j]; a[j]:=t;
            inc(i); dec(j);
        end;
    until i > j;
    if i < r then sort(a, i, r, Cmp);
    if l < j then sort(a, l, j, Cmp);
end;

begin
    readln(n);
    for i:=1 to n do begin
        readln(st); ss:='';
        for j:=1 to length(st) do begin
            if st[j] in ['0'..'9'] then ss:=ss + st[j] else begin add(ss); ss:=''; end;
        end;
        add(ss);
    end;

    writeln(size);
    sort(a, 1, size, @Cmp_fc);
    for i:=1 to size do writeln(a[i]);
readln;
end.

Bài 1:

Var a,b,c:Longint;
 Begin
  Readln(a,b,c);
  If b=c then Write('1')
  Else If (c-b) mod (a-b) = 0 then Write((c-b) div (a-b))
   Else Write(((c-b) div (a-b))+1);
  Readln;
 End.

Bai 2:
  Var S,Si:String;
    A:Array[0..1000] Of Longint;
    i,j,n,d,d1:Longint;
  Procedure Qsort(l,r:Longint);
   Var i,j,x,Tg:Longint;
     Begin
       x:=A[(l+r) div 2];
       i:=l;j:=r;
       While i<j do
         Begin
           While A[i]<x do i:=i+1;
             While x<A[j] do j:=j-1;
               If i<=j then
                Begin
                 Tg:=A[i]; A[i]:=A[j];A[j]:=Tg;
                 i:=i+1;j:=j-1;
               End;
         End;
     If l<j then Qsort(l,j);
     If i<r then Qsort(i,r);
   End;
 Begin
  Readln(n);
  d:=1;
  For i:=1 to n do
   Begin
    Readln(S);
    S:=S+' ';Si:='';
    For j:=1 to Length(S) do
     Begin
      If S[j] in ['0'..'9'] then Si:=Si+S[j]
       Else
        Begin
         If Si<>'' then
          Begin
           Val(Si,d1);
           A[d]:=d1;Si:='';d:=d+1;
          End;
        End;
     End;
   End;
 Qsort(1,d-1);
 For i:=1 to d-1 do Writeln(A[i]);
 Readln;
 End.