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

2. Определите, сколько раз будет выполняться тело следующих операторов дела и чему будет равно значение переменной k. (и это тоже )


2. Определите, сколько раз будет выполняться тело следующих операторов дела и чему будет равно значе

Показать ответ
Ответ:
НезнайкаЛёша
НезнайкаЛёша
05.08.2020 11:23
Алгоритм решения

Рассмотрим первый тест. Мы знаем, что карточки пронумерованы от 1 до N, и что утеряна была ровно одна карточка. Пусть x равен сумме номеров всех карточек от 1 до N. Тогда y равен сумме номеров карточек, что даны нам во вводе. Значит, номер потерявшейся карточки - это x - y

x = 1 + 2 + 3 + 4 + 5 = 15

y = 3 + 5 + 1 + 4 = 13

ans = x - y = 15 - 13 = 2, ответ: 2.

Правда, тогда придется "угадать" тест, где N равно единице, поскольку мы используем do-while для ввода. Логично, что в наборе из одной карточки могла потеряться только эта единственная карточка.

Код

Дан в приложении.


На с++ с циклом do while для настольной игры используются карточки с номерами от 1 до n (n — натурал
0,0(0 оценок)
Ответ:
Dan4ikFun4ik
Dan4ikFun4ik
25.04.2021 03:53

Program fantscrin;

 const n = 15;

 const m = 10;

 Var x: array [1..n] of real;

     y: array [1..n] of real;

     z: array [1..n+m] of real;

     i,e_1,e_2,g:integer; s,p,min:real;

     

Begin

 for i:=1 to n do

   x[i]:=random(20)-10;

 for i:=1 to m do

   y[i]:=random(10)-5;

   

 for i:=1 to n do

   write(x[i],'  ');

   

 s:=0;  

 for i:=1 to n do

   if(i mod 2 <> 0) then s:=s+x[i];

   

 for i:=1 to n do

   if (x[i] < 0) then

                 begin

                   e_1:=i;

                   break;

                 end;

 for i:=n downto 1 do

   if (x[i] < 0) then

                 begin

                   e_2:=i;

                   break;

                 end;

 

 p:=1;

 for i:=e_1 to e_2 do

   p:=p*x[i];

 

 

 for i:=1 to n do

   z[i]:=x[i];

 for i:=1 to m do

   z[n+i]:=y[i];

 

 min:=z[1];

 g:=1;

 for i:=2 to n+m do

   if (z[i] < min) then  

                   begin

                     min:=z[i];

                     g:=i;

                   end;

 writeln('');

 writeln('1. : ',s);

 writeln('2. : ',p);

 for i:=1 to m do

   write(y[i],'  ');

 writeln('');

 for i:=1 to n+m do

   write(z[i],'  ');

   

 for i:=g to n+m-1 do

   z[i]:=z[i+1];

 

 z[n+m]:=0;

 

 writeln('');

 writeln(g);

 for i:=1 to n+m-1 do

   write(z[i],'  ');

End.

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