Напишите программу, которая выполняет циклический сдвиг части массива, начиная с элемента с номером k и заканчивая элементом с номером m(включительно), влево на r элементов.
Var i,k,m,r,p,j: integer; a: array[1..10]of integer; begin writeln('массив: '); for i: =1 to 10 do begin a[i]: =random(10); write(a[i],' '); end; writeln; write('введите k,m,r: '); readln(k,m,r); for i: =1 to r do begin j: =k; p: =a[j]; while j< m do begin a[j]: =a[j+1]; j: =j+1 end; a[j]: =p; end; writeln('измененный массив: '); for i: =1 to 10 do write(a[i],' '); end.
ВасилийКлимова1695
07.04.2021
Var k,fk, k20, count: integer; function f(x: integer): integer; begin if x < 3 then f : = 1 else f : = f(x - 1) + f(x - 2); end; begin k20: =f(20); writeln(k20); count: =-1; {k=20 мы ж вроде должны вычесть} for k : = 3 to 50 do begin fk: =f(k); if fk=k20 then count: =count+1; write(fk,' '); end; writeln(count); end. функция работает медленно потому что это рикурсия. функция создает последовательность числ фибоначи которые вообщ то не повторяются потому что последовательность возрастающая. повторения вообщем возможны изза того что integer это не безконечная последовательность, а кольцо, но дождаться результатов при таким образом построенной функции просто нереально
Polina780
07.04.2021
Число содержит единицу и 2048х2=4096 нулей. число содержит единицу и 2048 нулей. число содержит единицу и 8 нулей. при вычитании в первом числе надо будет "занять" единственную имеющуюся в старшем разряде единицу и вычесть единицу из девятого справа разряда, что даст в нем ноль, а в разрядах с 2048 по 9 образуются единицы. их количество составит 2048-8=2040. при сложении результата с числом добавится еще одна единица в старшем разряде и общее число единиц станет равно 2041. ответ: 2041 единица.