#include <iostream>
using namespace std;
int main() {
setlocale(LC_ALL, "RUS");
int n, i = 2;
bool flag = true;
cout << "Введите число >=2: ";
cin >> n;
if (n < 2)
{
cout << "Вы ввели число, которое не удовлетворяет условию!" << endl;
}
while (i * i <= n) {
if (n% i == 0)
{
cout << i << endl;
flag = false;
break;
}
i += 1;
if (flag == true) {
cout << n << endl;
}
}
}
1) 5
2) 0
3) 1
Объяснение:1) s:=0; for i:=10 downto 6 do s:=s+1;Переменная s изначально равна 0. Потом идёт цикл от 10 вниз до 6, который каждый раз будет прибавлять к s единицу (s[новая] = s[старая] + 1). Цикл от 10 до 6 включительно, то есть он буде выполнятся 10-6+1=5 раз (+1 т.к. включительно). Получается мы 5 раз прибавляем к нулю 1. ответ: 0 + 1*5 = 5.
2)s:=0; for i:=8 to 3 do s:=s+1;Переменная s изначально равна 0. Потом идёт цикл от 8 до 6, который выполнятся не будет, так как 8>6, и увеличиваясь на 1 каждый раз, он никогда не дойдет до 6. Для работы необходимо писать downto вместо to, то есть вниз до. Однако такового тут нет, поэтому цикл не выполняется и переменная s остаётся 0. ответ: 0.
3)s:=1; for i:=2 downto 10 dо s:=s+1;Переменная s изначально равна 1. Потом идёт цикл от 2 вниз до 10, который выполнятся не будет, так как 2<10, и уменьшаясь на 1 каждый раз, он никогда не дойдет до 10. Для работы необходимо писать to вместо downto, то есть до, а не вниз до. Однако такового тут нет, поэтому цикл не выполняется и переменная s остаётся 1. ответ: 1.