Задача 9 - Pascal
Да се състави програма на, която за даден масив 8x10 от цели числа да определя дали е вярно, че сумата от квадратите му е петцифрено число.
program sumsquares;
const
M = 8;
N = 10;
var
a: array[1..M, 1..N] of Integer;
i,j: Integer;
sum: Integer;
function sqrt(n:integer):integer;
begin
sqrt := n*n;
end;
begin
Randomize;
for i := 1 to M do
begin
for j := 1 to N do
begin
a[i][j] := Random(30);
end;
end;
sum := 0;
for i := 1 to M do
begin
for j := 1 to N do
begin
sum := sum + sqrt(a[i][j]);
end;
end;
if (sum >= 10000) AND (sum < 100000) then
begin
WriteLn(sum, ' has 5 digits');
end
else
begin
WriteLn(sum, ' doesn''t have 5 digits');
end;
end.
Ще инициализираме масива със случайни числа, защото 80 елемента ще отнемат много време за въвеждане. Тъй като ни трябват квадратите на елементите, дефинираме проста функция, която връща произведението на числото само със себе си. Порграмата се компилира под
FreePascal:
aquilax@think /d/p/pascal> fpc 09_sumsquare.pas
Free Pascal Compiler version 2.4.0-2 [2010/03/06] for x86_64
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling 09_sumsquare.pas
Linking 09_sumsquare
40 lines compiled, 0.1 sec
aquilax@think /d/p/pascal> ./09_sumsquare
22315 has 5 digits
Няма коментари:
Публикуване на коментар