zsv073625
?>

Для заданного числа n распечатать числовую последовательность, в которой каждый следующий элемент последовательности определяется через предыдущий элемент р, и равен: вычисления прекратить, когда очередной элемент последовательности станет равен 1. (известно, что в любой такой последовательности рано или поздно встречается 1 входные данные: дано целое число n (1 ≤ n ≤ 100). выходные данные: в единственной строке вывести последовательность до 1. пример: входные данные выходные данные 7 7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

Информатика

Ответы

efimov33
Буду считать что нечетные умножаются на 3 и прибавляется 1, четные делятся на 2 i, k, n: integer; a: array[1..10000] of integer; begin assign(input,'input.txt'); reset(input); assign(output,'output.txt); rewrite(output); read(n); a[1]: =n; k: =1; while a[k]< > 1 do if (a[k] div 2)=0 then begin a[k]: =a[k] div 2; k: =k+1; end else begin a[k]: =a[k]*3+1; k: =k+1; end; for i: =1 to k do write(a[i],' '); end.
rnimsk149

Процедуры, не связанные с объектами и событиями, называются процедурами пользователя или подпрограммами. Пользовательские процедуры можно использовать неоднократно. Если текст процедуры пользователя был записан в разделе General - в окне программного кода формы, то она будет доступна только для данной формы, но не доступна для других форм этого же приложения.

Чтобы процедура пользователя была доступна на всех формах приложения, ее текст следует записать в специальном окне

Module - модуль приложения. Программный код такой процедуры будет храниться в файлах приложения с расширением *.bas.

xeniagolovitinskaya4546
Var   a: array[1..4] of integer;   i,j,r,p: integer; function hod(c,b: integer): integer;   begin   while c< > b do     if c> b       then         c: =c-b     else       b: =b-c;   hod: =c;   end; function hok(c,b, rr: integer): integer;   begin   if ((c mod b=0) or (b mod c=0)) and ((c div b > 1) or (b div c > 1))     then       begin         if c> b             then             hok: =c           else           hok: =b;       end     else       hok: =(c*b)  div  rr;   end; begin   a[1]: =36;   a[2]: =54;   a[3]: =18;   a[4]: =15;   p: =1;   r: =hod(a[1],a[2]);   p: =hok(a[1], a[2], r);   for i: =3 to 4 do   begin     r: =hod(r, a[i]);     p: =hok(p, a[i],r);   end;   writeln('hok = ',p); end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Для заданного числа n распечатать числовую последовательность, в которой каждый следующий элемент последовательности определяется через предыдущий элемент р, и равен: вычисления прекратить, когда очередной элемент последовательности станет равен 1. (известно, что в любой такой последовательности рано или поздно встречается 1 входные данные: дано целое число n (1 ≤ n ≤ 100). выходные данные: в единственной строке вывести последовательность до 1. пример: входные данные выходные данные 7 7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Чечин-Павлова615
djevgen
mdsazonovatv1173
Стадник620
info122
metegina4
ksyrika
Adabir20156806
borisova-valeriya
artem-dom
Vladimirovich58
opscosmiclatte7868
daryagulyaeva
avdeevana
Николаевич1033