Kiểu dữ liệu có cấu trúc

Nguyễn Khắc Tùng Lâm

Số chính phương được định nghĩa là bình phương của một số. Hãy viết chương trình tính tổng các số chính phương có trong một dãy (a1, a2, ..., am, với m là một số nguyên dương trong khoảng từ 1 đến 107 ).

Yêu cầu:

Dữ liệu vào là file: CP.INP

+ Dòng thứ nhất: Ghi số m (m trong khoảng từ 1 đến 107)

+ Dòng thứ hai ghi m phần tử trong dãy.

Dữ liệu ra là file: CP.OUT

+ Ghi tổng các số chính phương có trong dãy

+ Nếu không có số chính phương trong dãy thì ghi số 0.

Ví dụ:

CP.INP CP.OUT CP.INP CP.OUT

5

2 4 5 7 25

29

4

2 3 1 7

0

Lưu bài làm vào file CP.PAS

Nguyễn Khắc Tùng Lâm
8 tháng 4 2017 lúc 21:44

Mình thử trả lời các bạn xem có đúng ko nha!!!

__________

program CP;

var scs,tong,m,i,z,k:longint;

A:array[1..10000000] of longint;

f:text;

begin

assign(f, 'CP.INP');

reset(f);

readln(f,m);

for i:=1 to m do read(f,A[i]);

close(f);

tong:=0;

scs:=0;

for z:=1 to m do

for k:=1 to A[z] do

if (k*k=A[z]) then

begin

scs:=scs+1;

tong:=tong+A[z];

end;

assign(f, 'CP.OUT');

rewrite(f);

if (scs<>0) then writeln(f, tong) else writeln(f, '0');

close(f);

end.

Bình luận (0)

Các câu hỏi tương tự
Tuong Le
Xem chi tiết
09 Lê Quang HIếu
Xem chi tiết
Ánh Nguyệt
Xem chi tiết
09 Lê Quang HIếu
Xem chi tiết
Thùy An
Xem chi tiết
mqthien2801
Xem chi tiết
Gia Bảo Huỳnh
Xem chi tiết
lê chí hiếu
Xem chi tiết
Ngô Thành Chung
Xem chi tiết