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

Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями: F(n) = n + 15, при n ≤ 5
F(n) = F(n//2) + n*n*n - 1, при чётных n > 5
F(n) = F(n-1) + 2*n*n + 1, при нечётных n > 5
Здесь // обозначает деление нацело. Определите количество натуральных значений n из отрезка [1; 1000], для которых значение F(n) содержит не менее двух цифр 8.

👇
Ответ:
ekaterina791
ekaterina791
23.11.2020

164

Объяснение:

def F(n):

 if n <= 5: return n + 15

 if n % 2 == 0: return F(n // 2) + n**3 - 1

 else: return F(n-1) + 2*n**2 + 1

cnt = 0

for i in range(1,1001):

 eight = 0

 k = str(F(i))

 for l in k:

   if l == '8': eight+=1

   if eight == 2:

     cnt+=1

     break

print(cnt)


Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями
4,4(84 оценок)
Открыть все ответы
Ответ:
zef3
zef3
23.11.2020
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var (p,q,s):=(1,2,0);
  var k:=0;
  Write('(1,5) ');
  for var i:=3 to 1000 do begin
    var (flag,j,r):=(True,2,Round(Sqrt(i)));
    while flag and (j<=r) do
      if i mod j = 0 then flag:=false
      else j+=1;
    if flag then begin
      (p,q,s):=(q,s,i);
      if q-p=4 then Write('(',p,',',q,') ')
      else
        if s-p=4 then Write('(',p,',',s,') ')
      end
    end
end.

Результат
(1,5) (3,7) (7,11) (13,17) (19,23) (37,41) (43,47) (67,71) (79,83) (97,101) (103,107) (109,113) (127,131) (163,167) (193,197) (223,227) (229,233) (277,281) (307,311) (313,317) (349,353) (379,383) (397,401) (439,443) (457,461) (463,467) (487,491) (499,503) (613,617) (643,647) (673,677) (739,743) (757,761) (769,773) (823,827) (853,857) (859,863) (877,881) (883,887) (907,911) (937,941) (967,971)
4,4(49 оценок)
Ответ:
Silkerd
Silkerd
23.11.2020
{Attention! Это самое отвратное моё решение на Знаниях. Запаситесь валерьянкой перед прочтением кода}
//Pascal ABC.NET 3.1 сборка 1219

Type
 ty=record
 valu:integer;
 count:integer;
end;

Const
 n=3;

 Var
 ma:array[1..n,1..n] of integer;
 tyar:array of ty;
 se:set of integer;
 i,j,z,k,MaxCount:integer;
begin
 randomize;
 se:=[];
 k:=0;
 MaxCount:=integer.MinValue;
 writeln('Matrix:');
 for i:=1 to n do
  begin
   for j:=1 to n do
    begin
     ma[i,j]:=random(-10,10);
     write(ma[i,j]:4);
     if not(ma[i,j] in se) then
       begin
       inc(k);
       setlength(tyar,k+1);
       tyar[k].valu:=ma[i,j];
       tyar[k].count:=1;
       se:=se+[ma[i,j]];
      end
     else
       for z:=1 to k do {O(n^3) в худшем случае - нормальные люди ненавидят это}
        if tyar[z].valu=ma[i,j] then
         begin
          inc(tyar[z].count);
          break;
         end;
    end;
   writeln;
  end;
  for i:=1 to k do
  if MaxCount<tyar[i].count then MaxCount:=tyar[i].count;
  writeln('Res:');
  for i:=1 to k do  if tyar[i].count=MaxCount then writeln(tyar[i].valu);
end.

Пример работы программы:
Matrix:
  -7  -2  10
   8   0  -2
   6  10   1
Res:
-2
10
4,8(94 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ