1024*4=4096
1байт-8битов
1Кбайт-1024 байта
1Мбайт-1024 Кбайта
1Гбайт-1024 Мбайта
program picaso; uses crt;
type vector=array[1..100] of integer;
var a:vector;
i,n,k,p:byte;
begin clrscr; Randomize;
writeln('n:');readln(n);
writeln('a:');readln(p);
for i:=1 to n do
begin
write('элемент ',i,' : ');
readln(a[i]);
end;
for i:=1 to n do
write(a[i],' ');
k:=0;
for i:=1 to n do
begin
if a[i] > p then inc(k);
end;
writeln('количество элементов массива, которые больше заданного числа',p,' : ',k);
end.
Такой вариант на простом паскале со стратегией жадность
var
n, s, i: integer;
x: array[1..100]of integer;
answer: string;
begin
readln(n);
for i := 1 to n do
read(x[i]);
readln(s);
answer := IntToStr(s) + ' = ';
for i := n downto 1 do
begin
answer := answer + IntToStr(s div x[i]) + '*' + IntToStr(x[i]);
s := s mod x[i];
if i > 1 then
answer := answer + ' + ';
end;
if s <> 0 then
writeln('NO')
else
writeln(answer);
end.
Более полный и правильный вариант решения, но и куда более сложный
//PascalABC.Net 3.1 сборка 1200
uses System.Collections.Generic;
uses System;
var
x := new List<integer>;
c := new List<Tuple<string, integer>>;
procedure getParcelling(sum, step: integer; coefficients: string; count: integer);
begin
if step >= x.Count then begin
if sum = 0 then c.Add((coefficients, count));
Exit;
end;
if step < 0 then step := 0;
for var j := 0 to (sum div x[step]) do
begin
var s := '';
if j > 0 then begin
if step > 0 then s += ' + ';
s += IntToStr(j) + '*' + IntToStr(x[step]);
end;
getParcelling(sum - x[step] * j, step + 1, coefficients + s, count + j);
end;
end;
begin
x := ReadArrInteger('x:', ReadInteger('n =')).ToList;
var sum := ReadInteger('sum =');
getParcelling(sum, 0, '', 0);
if c.Count = 0 then
writeln('No')
else begin
var min := c.Min(cc -> cc.Item2);
Println(c.Where(cc -> cc.Item2 = min));
end;
end.
Program z1;
var n:integer;
i:integer;
r:integer;
begin
writeln('Введите количество желающих');
readln(n);
i:=0;
r:=0;
while(n>0) do
begin
writeln('Введите рост ученика : ');
readln(r);
if(r>170) then i:=i+1;
n:=n-1;
end;
writeln(i);
end.
PascalABC.NET 3.2:
begin
print(5.To(65).Aggregate(BigInteger(1), (p, x) -> p*x)
end.
Ответ должен получиться 343652108003436277780132096116062343841094106306059895538421797266206490624000000000000000