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

Заранее
Информатика 7 класс ​


Заранее Информатика 7 класс ​

Показать ответ
Ответ:
dnmsmd
dnmsmd
20.04.2023 23:11

(см. объяснение)

Объяснение:

Pascal:

var x, m, s, d: integer;

begin

 for i: integer := 1 to 150 do

 begin

   x:= i;

   m:= 0;

   s:= 0;

   while(x>0) do

   begin

     d:= x mod 7;

     s:= s+d;

     if(d>m) then

       m:= d;

     x:= x div 7;

   end;

   if((m=5) and (s=12)) then

     writeln(i);

 end;

end.

Python:

for i in range(1, 150):

   x = i

   m = s = 0

   while x > 0:

       d = x % 7

       s += d

       if d > m:

           m = d

       x //= 7

   if m == 5 and s == 12:

       print(i)

Аналитическое решение:

Перейдем в семеричную систему счисления. Тогда операция mod 7 будет получать последнюю цифру исходного числа. Заметим также, что в переменную m кладется максимальная цифра из введенного числа. Тогда нам нужно, чтобы цифра 5 стояла в разряде единиц и была наибольшей в числе. Понятно, что двузначное число, удовлетворяющее этим условиям, собрать нельзя. Предположим, что число трехзначное, начинающееся на 1. Тогда оно имеет вид 1?5, где ?≤5. Но 1+5+5<12, поэтому такой случай никогда не приведет к интересующему ответу. Пусть число имеет вид 2?5. Тогда 2+5+5=12, то есть число 255 нас устраивает. Переведя его в десятичную систему счисления, получаем, что ответом будет число 138.

Задание выполнено!

0,0(0 оценок)
Ответ:
Анна23091
Анна23091
09.06.2020 12:36
Program p1;
var
n,a,i,max,fl:integer;
begin
writeln('Введите кол-во участников>>');
readln(n);
max:=0; fl:=0;
for i:=1 to n do
 begin
 writeln('Введите кол-во правильных ответов, данных участником ',i); 
 readln(a);
 if (a > max) then max:=a;
 if a=0 then fl:=1;
 end;
if fl=1 then writeln('YES') else writeln('NO');
writeln('Победитель набрал ',max,' ');
end.

Пример:
Введите кол-во участников>> 5
Введите кол-во правильных ответов, данных участником 1 15
Введите кол-во правильных ответов, данных участником 2 18
Введите кол-во правильных ответов, данных участником 3 0
Введите кол-во правильных ответов, данных участником 4 8
Введите кол-во правильных ответов, данных участником 5 10
YES
Победитель набрал
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота