BÀI TẬP 57: HÌNH VUÔNG (Bài 1 – Đề thi Tin học trẻ cấp THPT tỉnh An Giang 2020)

Một hình vuông có số đo diện tích là một số X chữ số (đơn vị là cm2). Số đo diện tích chia hết cho cả 9 và 5; Biết rằng số đo của cạnh, chu vi và diện tích là các số tự nhiên. Viết chương trình tìm diện tích và chu vi của hình vuông theo các yêu cầu sau:

            Input cho trong tập tin BAI1.INP chứa số tự nhiên X (với 3 <= X <= 15).

            Output ghi vào tập tin BAI1.OUT gồm 02 (hai) số tự nhiên là diện tích và chu vi của hình vuông, cách nhau ít nhất một ký tự trắng.

Lưu ý: Trong trường hợp có nhiều kết quả đúng theo yêu cầu thì xét kết quả có giá trị lớn nhất. Lưu kết quả vào tệp có tên BAI01.PAS.

Chương trình ví dụ:

BAI1.INP

BAI1.OUT

3

900 120

 

CODE THAM KHẢO:

program TimCanhHinhVuong;

var x:byte;

    a,b: Qword;

    k,i: Qword;

    f:text;

procedure TaoSo(x:byte; var a,b: Qword);

var j:byte;

begin

        a:=100;

        for j:=4 to x do a:=a*10;

        b:=a*10;

end;

begin

        assign(f,'BAI1.INP'); reset(f);

        readln(f,x);

        close(f);

        assign(f,'BAI1.OUT'); rewrite(f);

        TaoSo(x,a,b);

        i:=trunc(sqrt(b-1));

        while i >=trunc(sqrt(a)) do

        begin

                if (i*i mod 5 = 0) and (i*i mod 9 = 0) then

                begin

                        write(f,i*i, ' ',4*i);

                        break;

                end;

                i:=i-1;

        end;

        close(f);

end.

//Cách 2:

var x:byte;

    a,S:qword;

    f:text;

BEGIN

    assign(f,'BAI1.INP'); reset(f);

    readln(f,x);

    close(f);

    assign(f,'BAI1.OUT'); rewrite(f);

    S:=round(exp(ln(10)*x))-1;

    a:=(trunc(sqrt(S)) div 15)*15;

    writeln(f,a*a,' ',a*4);

    close(f);

END.

- Giải thích: S chia hết cho 9 và 5 thì cạnh phải chia hết cho 3 và 5 nghĩa là chia hết cho 15. S lớn nhất có x chữ số thì bình phương nó phải liền kề với sqrt của nó, đồng thời chia hết 15 nên lấy phần nguyên của sqrt(s) chia 15 và nhân 15




Nhãn:

Đăng nhận xét

[blogger]

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.
Javascript DisablePlease Enable Javascript To See All Widget