М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
shhfxecbhawc
shhfxecbhawc
04.02.2022 17:03 •  Информатика

Task 3: Collatz Conjecture Возьмём любое положительное целое число n. Если n парное число, поделим надвое, получим таком образом n/2. Если n непарное число, умножим на 3 и прибавим 1, получив таким образом 3n+1. Над полученным числом выполняем те же самые действия, и так далее.

Гипотеза Коллатца (3n+1 дилемма, сиракузская проблема) — одна из нерешённых проблем математики. Получила широкую известность благодаря простоте формулировки. Названа по имени немецкого математика Лотара Коллатца. Парадокс заключается в том, что независимо от того, какое n мы выберем - конечная последовательно всегда когда-то придёт к 1. Например, для числа n=20 последовательно чисел выглядит так:

20, 10, 5, 16, 8, 4, 2, 1
Создайте функцию int collatz(const int number) с параметром:

const int number - Положительное ненулевое число (начало последовательности).
Функция вернет длину последовательности для числа n. Для приведённого примера числу 20 соответствует результат 8.

👇
Ответ:
kseniya09451
kseniya09451
04.02.2022

Объяснение: берем любое натуральное число ,

если оно четное, то делим его на 2, а если нечетное, то умножаем на 3 и

прибавляем 1 (получаем 3 + 1). Над полученным числом выполняем те же

самые действия, и так далее. Гипотеза Коллатца заключается в том, что какое

бы начальное число ни взяли, рано или поздно мы получим единицу.

4,4(95 оценок)
Открыть все ответы
Ответ:
mikki255
mikki255
04.02.2022
Держи мой шаблон работы с матрицами, как раз пока только минимумы и максимумы

const
    handsfree = true;

var
    a: array[1..100, 1..100] of real;
    max, min: real;
    i, j, m, n: integer;

begin
    {ввод матрицы}
    if handsfree then begin
        n := random(20) + 2;
        m := random(20) + 2;
    end
    else begin
        write('n, m =');
        readln(n, m);
    end;

    writeln('Данные матрицы:');
    for i := 1 to m do
    begin
        for j := 1 to n do
            if handsfree then begin
                a[i, j] := random(100) - 50;
                write(a[i, j]:4, ' ')
            end
            else
                read(a[i, j]);
        writeln;
    end;

    {минимумы и максимумы}
    max := a[1, 1];
    min := a[1, 1];
    for i := 1 to m do
        for j := 1 to n do
        begin
            if max < a[i, j] then max := a[i, j];
            if min > a[i, j] then min := a[i, j];
        end;
    writeln('max = ', max);
    writeln('min = ', min);
end.
4,8(98 оценок)
Ответ:
rigorevich17
rigorevich17
04.02.2022
//Pascal ABC.NET 3.1 сборка 1219

Var
 ar:array of integer;
 i,n:integer;

 procedure quicksort(var a:array of integer; Lo,Hi: integer);

procedure sort(l,r: integer);
var
i,j,x:integer;
begin
i:=l;
 j:=r;
 x:=a[random(r-l+1)+l];
repeat
while a[i]>x do i:=i+1;
 while x>a[j] do j:=j-1;
  if i<=j then
   begin
    if a[i]<a[j] then swap(a[i],a[j]);
    i:=i+1;
 j:=j-1;
  end;
    until i>=j;
  if l<j then sort(l,j);
  if i<r then sort(i,r);
end;

begin;
  randomize;
  sort(Lo,Hi)
end;

 begin
 readln(n);
 setlength(ar,n);
 n:=n-1;
 writeln('Array:');
 for i:=0 to n do
  begin
   ar[i]:=random(10);
   write(ar[i]:4);
  end;
 quicksort(ar,0,n);
 writeln;
 writeln('Final array:');
 for i:=0 to n do
 write(ar[i]:4);
end.

Пример ввода:
5
Пример вывода:
Array:
   8   7   5   9   4
Final array:
   9   8   7   5   4
4,8(27 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ