Tin học Đếm số giai thừa

Thảo luận trong 'Tin học cấp II' bắt đầu bởi Chu Minh Hiền, 12 Tháng hai 2019.

Lượt xem: 54

  1. Chu Minh Hiền

    Chu Minh Hiền Học sinh tiến bộ Thành viên

    Bài viết:
    638
    Điểm thành tích:
    204
    Sở hữu bí kíp ĐỖ ĐẠI HỌC ít nhất 24đ - Đặt chỗ ngay!

    Khai test đầu xuân – Nhận ngay quà khủng


    Chào bạn mới. Bạn hãy đăng nhập và hỗ trợ thành viên môn học bạn học tốt. Cộng đồng sẽ hỗ trợ bạn CHÂN THÀNH khi bạn cần trợ giúp. Đừng chỉ nghĩ cho riêng mình. Hãy cho đi để cuộc sống này ý nghĩa hơn bạn nhé. Yêu thương!

    Một ngày nọ, tại lớp học đội tuyển, Natodel và các học sinh khác đang làm bài tập thì bỗng dưng mất điện. Đây là trường hợp vô cùng bất ngờ đối với mọi người trong lớp đội tuyển tin. Để các học sinh của mình không có thời gian để "chém gió", Ktun đã nghĩ ra một bài tập để các học sinh của mình phải giải ra được, bài tập đó có nội dung như sau:
    "Cho một số nguyên dương N, bài toán đặt ra là phải tìm tất cả các số X thoả mãn X! có số chữ số bằng N."
    Ban đầu Ktun chỉ cho giới hạn rất nhỏ để thử các học sinh của mình, thế nên rất nhanh chóng Natodel và các bạn đã giải bài tập này bằng cách bấm máy tính cầm tay. Nhưng rồi oái oăm hơn, Ktun nhất quyết không cho học sinh chơi nên đã tăng giới hạn của N lên rất cao, điều đó làm cho cả lớp phải run sợ (do không có máy vi tính bên cạnh). Bạn đang sẵn máy tính, hãy giúp các Natodel giải bài tập này để họ có thời gian "chém gió" với nhau. [​IMG]
    Dữ liệu vào

    Một dòng duy nhất chứa số nguyên dương N (N ≤ 2.10 6 )
    Dữ liệu ra

    Nếu không có số X nào thỏa mãn thì in ra "NO".
    Nếu có số X thỏa mãn thì in ra nhiều dòng:
    - Dòng thứ nhất chứa số S là số lượng số X.
    - S dòng tiếp theo chứa 1 số X ghi theo thứ tự tăng dần.
    Ví dụ

    Input:
    5
    Output:
    1
    8
    upload_2019-2-12_18-15-8.png
    Minh làm vậy nhưng vẫn sai mọi người giúp mk với tối mk phải nộp rồi
     
  2. ka1412

    ka1412 Học sinh chăm học Thành viên

    Bài viết:
    885
    Điểm thành tích:
    121
    Nơi ở:
    Hà Nội
    Trường học/Cơ quan:
    CNN | Life

    Bạn thử xem xem =)))
    Mã:
    uses crt;
    var i,n,j,h:longint;
    s:extended;
    function dem(q:longint):longint;
    begin
        h := 0;s:=0;
        for j:=2 to q do s:= s+(ln(j)/ln(10));
        h   := trunc(s);
        dem := h+1;
    end;
    begin
        clrscr;
        write('Nhap n:');readln(n);
        if n<=0 then write('NO');
        if n=1 then begin writeln('4'); for i:=0 to 3 do write(i);end;
        if n=2 then begin writeln('1');write('4');end;
        if n=3 then begin writeln('2');writeln('5');writeln('6');end;
        i := 7;
        if n>3 then
        begin
            while dem(i)<n do inc(i);
                if dem(i)=n then begin writeln('1');write(i);end;
        end;
        readln
    end.
    
     
Chú ý: Trả lời bài viết tuân thủ NỘI QUY. Xin cảm ơn!

Draft saved Draft deleted

CHIA SẺ TRANG NÀY