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

 
Bounce Rate! Xu hướng Seo 2013 bạn không thể bỏ qua

Bounce Rate! sự thành công cho một website và Seoer

Bounce Rate là một yếu tố có tầm ảnh hướng mạnh nhất đến sự thành công của một website và Seoer thành công hay không trong chiến lược Seo 2013.

Tại sao phải hiểu agile là một phần cho business?

Tại sao phải hiểu agile là một phần cho business?

By this I mean teaching agile practices very well but usually missing one point that is very important for many customers

Hướng dẫn Reloading a View + arguments với Ajax trong Drupal 7

Hướng dẫn Reloading a View + arguments với Ajax trong Drupal 7

If we drill down this file and analyze it, we will understand some of the Views' ajax functionality. Lets take a case and see how we can reuse Views' Ajax.

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

 

Diet con trung