Олимпиадный тренинг

Задача . Ройтберг. Диагностические работы 2019. Вариант 1. 24-3 (С++)


Задача

Темы:
Даны целые числа A и B, 0 ≤ B ≤ A. Последовательно вычисляются значения A – 1, A – 1 – 2, A – 1 – 2 – 3 и т. д. Необходимо вывести наибольшее из этих
значений, которое меньше B.
Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная.
Ниже приведена эта программа на языке программирования C++
Найдите и исправте ошибки в программе (сделайте как можно меньше исправлений)
#include <iostream>
using namespace std;
int main(){
int a, b, s, k;
cin >> a >> b;
if (!(0<=b && b<=a))
cout << "Неверные данные";
else {
s = 0;
k = 0;
while (s > b) {
 k = k+1;
 s = s-k;
}
cout << s;
}
return 0;
}

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w6412
Комментарий учителя