В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
mkovalenko730
mkovalenko730
26.07.2021 05:07 •  Информатика

1. Что появится на экране, после этого кода? 2. Какое значение появится на экране?
3. Размести типы данных в соответствии со значениями.
надо


1. Что появится на экране, после этого кода? 2. Какое значение появится на экране? 3. Размести типы

Показать ответ
Ответ:
B8888
B8888
11.09.2022 22:31

674

Объяснение:

Минимально возможная сумма цифр числа при заданных условиях - 1, максимальная - 28 (число 1999). Таким образом, достаточно проверить, что сумма цифр очередного числа принадлежит множеству:

[2, 3, 5, 7, 11, 13, 17, 19, 23].

пишем простую прогу которая брутом проверяет суммы цифр числа на совпадение с группой простых чисел и считает совпадения: код на пайтоне

n=0

cont=[2,3,5,7,11,13,17,19,23]

for i in range (1,2001):

   if i//1000+i%1000//100+i%1000%100//10+i%1000%100%10//1 in cont:

       n+=1

print(n)

Пайтон выводит ответ 674

0,0(0 оценок)
Ответ:
PascalABC.NET 3.4.2, сборка 1826 от 07.10.2018Внимание! Если программа не работает, обновите версию!

function IsPrime(n: integer): boolean;

begin

 if n < 4 then Result := True

 else

 begin

   var found := (n mod 2 = 0);

   var p := 3;

   while (not found) and (sqr(p) <= n) do

   begin

     found := (n mod p = 0);

     p += 2

   end;

   Result := not found

 end

end;


function IsPalindrom(n: integer): boolean;

begin

 Result := True;

 if n > 10 then

 begin

   var (n1, i) := (n, -1);

   var a := new integer[9];

   while n1 > 0 do

   begin

     i += 1;

     a[i] := n1 mod 10;

     n1 := n1 div 10

   end;

   for var j := 0 to i div 2 do

   begin

     if a[j] <> a[i - j] then

     begin

       Result := False;

       break

     end

   end

 end

end;



begin

 var (i, k) := (3, 1);

 repeat

   if IsPrime(i) and IsPalindrom(i) then k += 1;

   i += 2

 until k >= 101;

 (i - 2).Println

end.


Результат: 94349
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота