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: 3 10 5 16 8 4 2 1 Шаги:8 Вершина:16
katar050419735
25.04.2023
#include <iostream> #include <conio.h> using namespace std;
int main() { setlocale(LC_ALL,"Russian"); const int N=7; int A[N]; cout << "Введите массив, состоящий из " << N << " элементов:\n"; for (int i=0; i<N; i++) cin >> A[i]; cout << "Массив до - "; for (int i=0; i<N; i++) { cout << A[i] << " "; if (A[i]*A[i] < 25) A[i] *= 2; } cout << "\nМассив после - "; for (int i=0; i<N; i++) cout << A[i] << " "; _getch(); return 0; }
Microsft Visual C++ 2010
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Вывести все трехзначные числа, которые делятся на 3. Числа выводить в строку через точку с запятой с кодом в Паскале и исходными данными
Var
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:
3
10
5
16
8
4
2
1
Шаги:8
Вершина:16