• Помогите пожалуйста,написать программу в паскале!!1
    Решить задачу с использованием процедур. Указать выделенные подзадачи, решаемые процедурами.
    Последовательность Хейеса. Дано натуральное число n (n > 1). Если оно чётно, то его делят на 2, иначе умножают на 3 и прибавляют 1. Если полученное число не равно 1, то действия повторяются до тех пор, пока не получится 1. Вершиной называют наибольшее число в получающейся последовательности. Для заданного n построить указанную последовательность, указать её вершину и количество шагов

Ответы 1

  • //Pascal ABC.NET 3.1 сборка 1219Var k,n,max:integer; procedure hase(var k,n,max:integer); //сама последовательность begin  if not(odd(n)) then n:=n div 2 else n:=n*3+1; //условие про чётность  writeln(n); //вывод нового члена последовательности  inc(k); //увеличение значения счётчика шагов  if max<n then max:=n; //поиск вершины end;  procedure start(var k,n,max:integer); //название процедуры намекает begin  readln(n);  k:=0;  writeln('Seq:');  max:=integer.MinValue;  while n<>1 do  hase(k,n,max);  writeln('Шаги:',k);  writeln('Вершина:',max); end; begin start(k,n,max);end.Пример ввода:6Пример вывода:Seq:3105168421Шаги:8Вершина:16
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years