Вася написал код для решения некоторой задачи. Приводим его на 3-х

Вася написал код для решения некоторой задачи. Приводим его на 3-х языках программирования:

Python:

n = int(input())
ans = 0
i = 0
while n gt; 0:
if i % 2 == 1 and n % 10 % 2 == 0:
ans += 1
n //= 10
i += 1
print(ans)

Pascal:

var
n, i, ans: longint;

begin
readln(n);
ans := 0;
i := 0;
while n gt; 0 do begin
if (i mod 2 = 1) and (n mod 10 mod 2 = 0) then
ans := ans + 1;
n := n div 10;
i := i + 1;
end;
writeln(ans);
end.

C++:

include

using namespace std;

int main()

int n, ans = 0, i = 0;
cin gt;gt; n;
while (n gt; 0)
if (i % 2 == 1 and n % 10 % 2 == 0)
ans++;
n /= 10;
i++;

cout lt;lt; ans;
return 0;


А сейчас ему стало занимательно: при каком наименьшем n его программа выведет в качестве ответа число 3?

Задать свой вопрос
1 ответ
200000, как я сообразил.Если вы дочитаете это - респект.%)

 При первом запуске условие не выполниться, потому переменная ans останется прежней( в таком случае нам безразлично значение единиц числа n, и мы ставим наименьшее - 0), в этом же цикле от числа n убираются единицы и к переменная i возрастает на 1.
Цикл начинается по новейшей, теперь условие выполняется( i делится на 2 с остатком 1), но также на два обязаны без остатка делится и 10-ки числа n(вновь берем наименьшее число 0) переменная ans возрастает на 1.
В последующем цикле условие вновь не производится, i возрастает на 1, от n убираются сотни(сотки числа n равны 0)
В четвертом цикле asn и i увеличиваются на 1, тыщи числа n опять же равны 0.
В 5-ом цикле условие не выполняется, i увеличивается на 1, 10-ки тыщ числа n одинаковы 0.
И в конце концов в шестом цикле переменная asn увеличится на 1, но при том условии,что сотки тыщ числа n делятся на 2 без остатка - ноль тут теснее не подходит, так как число не может начинаться с нуля. Берем 2.
Эвелина Ахантьева
Спасибо! Вы мне очень посодействовали!)
Данил Розанский
Ну ок)
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт