program raf105;
var a:array[1..8] of real;
i,n:integer;
x:real;
begin
write('Введите номер билета: ');
readln(x);
n:=8;
for i:=1 to 8 do
begin
n -= 1;
if i=1 then
a[i]:= trunc(x / (10**7))
else if i=8 then
a[i]:= round(frac(x / 10)*10)
else
a[i]:= round(frac((trunc(x / (10**n))) / 10)*10);
end;
if a[1]+a[2]+a[3]+a[4]=a[5]+a[6]+a[7]+a[8]
then writeln('Номер билета является счастливым')
else writeln('Номер билета не является счастливым');
end.
2 вариант (с использованием типа string)program raf105;
var a:array[1..8] of integer;
i:integer;
x:string;
begin
write('Введите номер билета: ');
readln(x);
for i:=1 to 8 do
a[i]:= ord(x[i])-48;
if a[1]+a[2]+a[3]+a[4]=a[5]+a[6]+a[7]+a[8]
then writeln('Номер билета является счастливым')
else writeln('Номер билета не является счастливым');
end.
Язык PascalABC
program z1;
var i,a,s,k:integer;
begin
randomize;
s:=0;
k:=0;
write ('Числа: ');
for i:=1 to 8 do
begin
a:=random(31)+15;
if a mod 3 = 0 then
begin
s:=s+a;
k:=k+1
end;
write (a,' ')
end;
writeln;
if k = 0 then write ('Чисел кратных 3 не было')
else
begin
writeln('Количество чисел кратных 3 равно ',k);
write('Сумма чисел кратных 3 равна ',s)
end
end.
Объяснение:
Задаём 8 случайных чисел из интервала [15; 45]
Делаем проверку на кратность 3
Выводим результат