1. var a:array[1..7] of integer; i:Integer; begin //заполнение массива a[1]:=3; a[2]:=8; a[3]:=2; a[4]:=0; a[5]:=2; a[6]:=1; a[7]:=7; //вывод массива for i:=1 to 7 do Writeln(a[i]); end.
2. var c:array[1..12] of integer; i:Integer; begin //заполнение массива for i:=1 to 12 do begin Writeln('Введите ',i,' элемент массива'); readln(c[i]); end; //вывод массива Writeln('Массив'); for i:=1 to 12 do Write(c[i],' '); end.
3.var s:array[1..15] of integer; i:Integer; begin //заполнение массива for i:=1 to 15 do s[i]:=random(40); //вывод массива Writeln('Массив'); for i:=1 to 15 do Write(s[i],' '); end.
4.var b:array[1..25] of Real; i:Integer; begin //заполнение массива b[1]:=3; b[2]:=6; for i:=3 to 25 do b[i]:=(b[i-1]+b[i-2])/i; //вывод массива Writeln('Массив'); for i:=1 to 25 do Write(b[i]:9:3); end.
На интервале с левой границей 500 первое число, кратное 13, равно 507, а первое число, кратное 17, равно 510. Числа, кратные 13, образуют последовательность 507, 520, 533, ..., а числа, кратные 17, образуют последовательность 510, 527, 544, ... Для решения задачи достаточно объединить эти последовательности в одну, упорядоченную по возрастанию и взять первых 20 её членов.
Как получить 507 и 510? Первое число m, не меньшее некоторого k и кратное n определяется по простому алгоритму. Пусть p = k mod n - остаток от целочисленного деления k на n. Если p=0, то m=k, в противном случае m=k+n-p. Проверим для k=500, n=13. p = 500 mod 13 = 6. p≠0 ⇒ m = 500+13-6 = 507.
Поскольку 17>13, в последовательности чисел, кратных 17, их не может быть больше половины искомого количества, т.е. больше 20/2=10. А десятый член последовательности 510, 257, ... это 510+9×17 = 663. Тем более, это значение не может быть превышено в последовательности чисел, кратных 13, их там будет (663-507)/13=12.
Окончательно: строим последовательности из 12 чисел ряда 507, 520, 533... и 10 чисел ряда 510, 527, 544, ... объединяем их в последовательность, упорядоченную по возрастанию и берем 20 первых ее членов.
PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018 Внимание! Если программа не работает, обновите версию!
begin (SeqGen(12,507,t->t+13)+SeqGen(10,510,t->t+17)).OrderBy(t->t) .Distinct.Take(20).Println end.
a:array[1..7] of integer;
i:Integer;
begin
//заполнение массива
a[1]:=3;
a[2]:=8;
a[3]:=2;
a[4]:=0;
a[5]:=2;
a[6]:=1;
a[7]:=7;
//вывод массива
for i:=1 to 7 do
Writeln(a[i]);
end.
2. var
c:array[1..12] of integer;
i:Integer;
begin
//заполнение массива
for i:=1 to 12 do
begin
Writeln('Введите ',i,' элемент массива');
readln(c[i]);
end;
//вывод массива
Writeln('Массив');
for i:=1 to 12 do
Write(c[i],' ');
end.
3.var
s:array[1..15] of integer;
i:Integer;
begin
//заполнение массива
for i:=1 to 15 do
s[i]:=random(40);
//вывод массива
Writeln('Массив');
for i:=1 to 15 do
Write(s[i],' ');
end.
4.var
b:array[1..25] of Real;
i:Integer;
begin
//заполнение массива
b[1]:=3;
b[2]:=6;
for i:=3 to 25 do
b[i]:=(b[i-1]+b[i-2])/i;
//вывод массива
Writeln('Массив');
for i:=1 to 25 do
Write(b[i]:9:3);
end.
Как получить 507 и 510? Первое число m, не меньшее некоторого k и кратное n определяется по простому алгоритму. Пусть p = k mod n - остаток от целочисленного деления k на n. Если p=0, то m=k, в противном случае m=k+n-p.
Проверим для k=500, n=13.
p = 500 mod 13 = 6. p≠0 ⇒ m = 500+13-6 = 507.
Поскольку 17>13, в последовательности чисел, кратных 17, их не может быть больше половины искомого количества, т.е. больше 20/2=10. А десятый член последовательности 510, 257, ... это 510+9×17 = 663. Тем более, это значение не может быть превышено в последовательности чисел, кратных 13, их там будет (663-507)/13=12.
Окончательно: строим последовательности из 12 чисел ряда 507, 520, 533... и 10 чисел ряда 510, 527, 544, ... объединяем их в последовательность, упорядоченную по возрастанию и берем 20 первых ее членов.
PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018
Внимание! Если программа не работает, обновите версию!
begin
(SeqGen(12,507,t->t+13)+SeqGen(10,510,t->t+17)).OrderBy(t->t)
.Distinct.Take(20).Println
end.
Результат
507 510 520 527 533 544 546 559 561 572 578 585 595 598 611 612 624 629 637 646