Kiểm tra số chính phương trong mảng 1 chiều

[Pascal 11] Kiểm tra số chính phương trong mảng 1 chiều

Kiểm tra số chính phương trong mảng 1 chiều là câu bài tập đơn giản dành cho các học sinh lớp 11 trong các bài thi kiểm tra 15 phút. Rất thú vị khi câu này ra đề thi thì gần như 90% các bạn học sinh không lấy được điểm câu hỏi này bởi vì không biết số chính phương là gì. Hôm nay mình cũng được thầy giáo hỏi về số chính phương khi đang học C# nên chợt nhớ lại câu bài tập này nên tiện tay đăng tải lên đây cho các bạn xem luôn.

 


Vậy số chính phương là gì? Số chính phương là số có căn bậc 2 của nó là một số tự nhiên khác, hay nói rõ hơn như sau: A là số chính phương nếu căn bậc 2 của A = B, B là một số tự nhiên <=> B2 = A.


Ví dụ: 49 là số chính phương vì 49 = 7 bình phương. Tương tự chúng ta có 4, 9, 16, 25,… là các số chính phương.

Chương trình kiểm tra số chính phương trong mảng 1 chiều và xuất chúng ra màn hình như sau:

Program KT_Sochinhphuong;
Uses crt;
Type ArrInt = array[1..250] of integer; 
Var N,i,x : integer;
A: ArrInt;
Procedure Nhap_Mang(Var A:ArrInt;Var N:integer);
Var i:integer;
Begin
Write('Nhap chieu dai cua mang: ');
Readln(N);
For i:=1 to N do
Begin
Write('Nhap gt phan tu thu a[‘,i,’]=');
Readln(A[i]);
End;

 

 

End;
Procedure KT_So_Chinh_Phuong(Var A:ArrInt;Var N:integer);
Var i:integer;
Begin
Writeln('Cac so chinh phuong co trong mang A: ');
For i:=1 to N do
Begin
x:=trunc(sqrt(A[i]));
if sqr(x)=a[i] then
Write(A[i]:4);
End;
End;

Begin
Nhap_Mang(A,N);
KT_So_Chinh_Phuong(A,N);
Readln;
End.

Trong đó:

– Sqr: Trả về bình phương của x.

– Sqrt: Trả về căn bậc 2 của x.

– Trunc(x): Trả về số nguyên gần với x nhất nhưng bé hơn x.


Chúc các bạn học tốt môn tin học 11

Share this post:

Recent Posts

Leave a Comment