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

Определите кол-во чисел k, для которых программа выведет такой же результат, что и для k=20; var i, k: integer; function f(x: integer): integer; begin if x < 3 then f: = 1 else f: = f(x-1) + f(x-2); end; begin i: = 21; readln(k); while (i > 0) and (f(i) > k) do i: =i-1; writeln(i); end.

👇
Ответ:
qwertyuiop314
qwertyuiop314
10.01.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 это не безконечная последовательность, а кольцо, но дождаться результатов при таким образом построенной функции просто нереально
4,6(8 оценок)
Открыть все ответы
Ответ:
Matvey1745789
Matvey1745789
10.01.2021
Uses crt;
var i,j,k,n,max:integer; a:array[1..100] of integer;
procedure rmassr;
begin
    for i:=1 to n do
    a[i]:=random(10);
end;
procedure rmassy;
begin
    for i:=1 to n do
    readln(a[i]);
end;
procedure maxe;
begin
max:=a[1];
    for i:=2 to n do begin
        if a[i] > max then max:=a[i];
    end;
    writeln('max element = ', max);
end;
procedure wmass;
begin
    for i:=1 to n do
    write(a[i],' ');
    writeln;
end;
begin
clrscr;
randomize;
write('Длина массива'); readln(n);
write('1-random; 2- в ручную '); readln(k);
if k=1 then rmassr()
else rmassy();
wmass();
maxe();
readln
end.
4,7(19 оценок)
Ответ:
ЛюБИмИЦа55
ЛюБИмИЦа55
10.01.2021
Вообще то, это задача чисто математическая.  Пусть есть трехзначное число abc.
По условию:

   abc
+ abc

   bca
Понятно, что максимальным число будет, если сложение в двух младших разрядах идет через перенос  ->  получим систему уравнений:
2c = a +16
2b +1 = c + 16
2a + 1 = b
равносильная ей система
2с = a + 16
c = 2b - 15
b = 2a + 1
подставляем третье во второе, получаем первые два уравнения
2с = a + 16
c = 4a - 13   из этих двух уравнений  ->   7a = 42  ->  a = 6  -> из третьего уравнения  b = 13
13 = D(16),   из первого уравнения  с = 22/2 = 11(10) = B(16)
->  abc(16) = 6DB(16) = 1755(10),     DB6(16) = 3510(10)   -> 2abc = bca
4,7(63 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ