Thứ Tư, 10 tháng 7, 2019

Số bé nhất LEXDIV

Không có mô tả ảnh.
Khi làm việc với các số tự nhiên, Tom và Jerry thích sắp xếp chúng theo thứ tự từ điển giống như so sánh xâu kí tự, chẳng hạn dãy số (1, 8, 9, 10, 11, 100) sẽ được sắp xếp thành (1, 10, 100, 11, 8, 9). Bài toán Tom đặt ra cho Jerry là: cho ba số A, B, K thì số trong đoạn [A; B] chia hết cho K có thứ tự từ điển nhỏ nhất là số nào? Hãy giúp Jerry giải bài toán trên.
Dữ liệu vào: Một dòng duy nhất ghi ba số nguyên A, B, K (1 ≤ A ≤ B ≤ 109, 1 ≤ K ≤ 109). Dữ liệu vào đảm bảo luôn có nghiệm.
Dữ liệu ra: Một dòng duy nhất ghi một số nguyên tìm được.
Ví dụ:
Input                Output
96   105   3 102
Giải thích
Đoạn [96;105] có 4 số chia hết cho 3 là 96, 99, 102, 105. Dãy số trên được xếp theo thứ tự từđiển ởdạng xâu là 102, 105, 96, 99.  Vậy đáp án phải tìm là 102.

4 nhận xét:

  1. Nhận xét này đã bị tác giả xóa.

    Trả lờiXóa
  2. Uses crt;
    Var i,j,a,b,k,o,t,d,d2:longint;
    f:array[1..10000] of longint;
    s:array[1..10000] of string;
    t2:string;
    Begin
    o:=1;
    readln(a);
    readln(b);
    readln(k);
    For i:=a to b do
    If i mod k=0 then Begin Str(i,t2); f[o]:=i; s[o]:=t2; o:=o+1; end;
    For i:=1 to o-2 do
    For j:=i+1 to o-1 do
    Begin
    d:=10-length(s[i]);
    d2:=10-length(s[j]);
    If f[i]*exp(10*ln(d))>f[j]*exp(10*ln(d2)) then
    Begin
    t:=f[i];
    f[i]:=f[j];
    f[j]:=t;
    t2:=s[i];
    s[i]:=s[j];
    s[j]:=t2;
    end;
    end;
    Write(f[1]);
    readln;
    end.

    Trả lờiXóa
  3. program nh;
    uses crt;
    var a,b,k,i,j,d,dem:longint;
    tam:string;
    f:array[1..100] of integer;
    s:array[1..100] of string;
    begin
    clrscr;
    readln(a,b); readln(k);
    d:=0;
    for i:=a to b do
    if i mod k=0 then
    begin
    d:=d+1;
    f[d]:=i;
    end;
    dem:=0;
    for i:=1 to d do
    begin
    dem:=dem+1;
    str(f[i],s[dem]);
    end;
    for i:=1 to dem-1 do
    for j:=i+1 to dem do
    if s[i]>s[j] then
    begin
    tam:=s[i];
    s[i]:=s[j];
    s[j]:=tam;
    end;
    writeln(s[1]);
    readln;
    end.

    Trả lờiXóa
  4. cái này chạy bị time đấy, cop bậy vào k đc đâu

    Trả lờiXóa

Dùng nick gmail để bình luận. Nếu lần đầu tiên bạn làm điều này thì hệ thống sẽ chuyển bạn sang trang blogger và hỏi bạn chọn tên hiển thị là gì. Bạn hãy nhập tên hiển thị rồi ok là được. Những lần bình luận sau hệ thống sẽ không hỏi nữa. Cảm ơn!

Bài được xem nhiều nhất