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

Очень завтра кр сдавать !


Очень завтра кр сдавать !

Показать ответ
Ответ:
SmokeSivunenko
SmokeSivunenko
16.02.2022 08:04

Фрагмент программы будет выполнятся вечно, значение переменной c получить нельзя.

Объяснение:

Присваиваем переменной a число 100:

a:=100;

Присваиваем переменной b число 20:

b:=20;

Далее идёт цикл с постусловием, выполняем тело, пока b не станет больше или равна 100:

repeat

i:= a div b;

c:=i + 5;

b:= a div b;

until b>=100;

Смотрим:

i  =  a div b  =   100 div 20  =  5c =  i + 5  =  5 + 5  =  10 b =  a div b   =   100 div 20  =  5

b>=100 ? нет  =>  ещё раз:

i  =  a div b  =   100 div 5  =  20c =  i + 5  =  20 + 5  =  25b =  a div b   =   100 div 5  =  20

Переменная b изначально была равна 20, а через 2 прохода цикла, она также стала 20. Делаем вывод: это замкнутый цикл, выполнятся он будет вечно, так как переменная b никогда не будет >=100.

0,0(0 оценок)
Ответ:
лиза5222
лиза5222
13.03.2022 05:46

#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

void solve(){

   int n, sum = 0;

   bool ok = false;

   cin >> n;

   vector<int> a(n);

   for(auto &i: a) { cin >> i; sum += i;}

   sort(a.begin(), a.end());

   for(int i = 0; i < n; i++){

       int l = i + 1, r = n - 1;

       while(l <= r && !ok){

           int m = (l + r) / 2;

           if(a[m] < sum - a[i])

               l = m + 1;

           else if(a[m] > sum - a[i])

               r = m - 1;

           else

               ok = true;

       }

   }

   cout << (ok ? "YES" : "NO");

}

int main(){

   solve();

}

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