Hãy lập chương trình tìm tất cả các số có 4 chữ số thỏa mãn biểu thức: abcd=(ab + cd) ^ 2

Hãy lập chương trình tìm tất cả các số có 4 chữ số thỏa mãn biểu thức: abcd=(ab + cd) ^ 2

Lý thuyết

- Trong hệ cơ số 10: Số A = an….a2a1a0 = a0  + 10a1 + … +10nan nên:

Để lấy số a0 = A mod 10; Để xóa chữ số a0 ta dùng A:=A div 10.

(Tương tự: Để lấy hai số tận cùng a1a0 = A mod 100; Để xóa hai chữ số a1 a0 ta dùng A:=A div 100.

- Thuật toán vét cạn: Để xét tất cả các trường hợp của số A ta xét an = 1..9; an-1….a2a1a0 =0..9

- Hệ cơ số 2: Nếu như hệ thập phân dùng 10 chữ số để ghi số thì hệ cơ số 2 chỉ dùng hai chữ số là 0 và 1 để ghi số.

- Đổi một số từ cơ số 2 sang cơ số 10:

- Đổi một số từ cơ số 10 sang cơ số 2:

- Hệ cơ số bất kỳ:

- Vấn đề cộng, trừ, nhân, lũy thừa số lớn (hoặc kết quả được số lớn) được xem xét riêng ở một chuyên đề (sau khi được trang bị dữ liệu kiểu string).

>> Viết chương trình cho phép nhân hai đa thức đã sắp xếp

>> Viết chương trình tính giá trị của đa thức A(x) với điều kiện không dùng biến mảng

Bài tập

Gọi abcd là một số có 4 chữ số. Hãy lập chương trình tìm tất cả các số có 4 chữ số thỏa mãn biểu thức: abcd=(ab + cd)2

Ví dụ: số 2025=(20 + 25)2.

Thuật toán:

  • Kiểm tra tất cả các số có bốn chữ số theo các cách sau;
  • Tách lấy hai số đầu, hai số sau của số có bốn chữ số để kiểm tra.
  • Kiểm tra các trường hợp có thể của mỗi chữ số.
Cách 1:

Program        Tach_so;

Var     haisodau, haisocuoi, i : integer;

Begin

          Writeln( ‘ cac so thoa man dieu kien gom co’);

          For i:=1000 to 9999 do

                    Begin

                              haisodau:=i Div 100;{lay 2 so dau tien ab}

                              haisocuoi:=i mod 100;{lay 2 so cuoi cd}

                              If i=SQR(haisodau + haisocuoi) then write(i:5);

                    End;

          Readln;

End.

 

Cách 2:

Program        Xet_so;

Var     a,b,c,d : integer;

Begin

          Writeln( ‘ cac so thoa man dieu kien gom co’);

          For a:=1 to 9 do

                  For b:=0 to 9 do

                         For c:=0 to 9 do

                               For d:=0 to 9 do

                              If i=(1000*a + 100*b + 10*c+ d) = SQRT(10*a+b + 10*c+d)

                                 then write(i:5);

          Readln;

End.
Bạn thấy bài viết này như thế nào?: 
Average: 6.8 (64 votes)
Ảnh của Tommy Tran

Tommy owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
D8 to D3: Using Drupal for data visualization

D3 JavaScript library : Làm Drupal for data visualization

One of the exciting features that’s on its way in Drupal 8 is the ability to use Drupal as a RESTful web service. This means that Drupal 8 core allows you to expose data to external applications in a number of standardized formats

Chrome soán ngôi Firefox

Chrome soán ngôi Firefox trong năm 2012

Ngày trước, Firefox từng được kỳ vọng sẽ vượt mặt Internet Explorer trên thị trường toàn cầu nhưng nay lại không thể bảo vệ vị trí á quân trước Chrome.

Facebook cập nhật tính năng viết Notes

Facebook cập nhật tính năng viết Notes

Facebook thiết kế lại phần viết Notes và đưa thêm các tính năng mới cho phép người dùng dễ dàng chỉnh sửa các đoạn văn bản dài cho đẹp mắt và hấp dẫn hơn.

Công ty diệt chuột T&C

 

Diet con trung