Можешь пожалуйста обьяснить как это работает (дать коментарии) особенно меня интересует цикл while и почему оно так работает. Заранее спасибо
Aleks Nots
Просветленный
(24784)
"как это работает"
while(a){ //в цикл заходит, потому, что число a не равно нулю
if(a%100 == 34){//берем остаток от деления на 100, то есть проверяем, а не кончается ли число на 34
cnt++;//если да, то увеличиваем счетчик тридцатьчетверок
a /=10;// то же что и a = a/10, так как число целое и делим на целое, то тем самым отбрасываем последнюю цифру
из начального 233453436 (cnt 0)
последовательно получаем
23345343 (cnt 0)
2334534 (cnt 1)
233453 (cnt 1)
23345 (cnt 1)
2334 (cnt 2)
233 (cnt 2)
23 (cnt 2)
2 (cnt 2)
2/10 здесь a становится нулем, поэтому выходит из цикла.
Вообще, чтобы понять что и как, полезно где нибудь в цикле дописать вывод интересующих переменных, чтобы видеть что с ними происходит. Ну или поставить точки останова в IDE и смотреть дебагером на переменные.