Задача на цикл - C (СИ)
Формулировка задачи:
ребят нужно решить одну задачу на си только без массива (Среди натуральных чисел, больших 99 и не превосходящих
заданного числа n, найти такие, цифры которых образуют
арифметическую прогрессию.)заранее большое спасибо.
Решение задачи: «Задача на цикл»
textual
Листинг программы
int v = 753; // для примера bool arithm = true; int last_digit = v % 10; int diff = 0; for (int i = 0; i < 100; i++){ // 100 - максимальное число знаков ;) if (i == 1){ diff = last_digit - v % 10; last_digit = v % 10; } else { if (diff != last_digit - v % 10){ arithm = false; break; } else { last_digit = v % 10; } v /= 10; if (v == 0){ break; } } // ну и здесь переменная arithm будет иметь правильное значение.
Объяснение кода листинга программы
- Объявлены переменные: v = 753, arithm = true, last_digit = v % 10, diff = 0.
- Запущен цикл for от 0 до 100.
- Проверка: если i = 1, то diff = last_digit - v % 10, last_digit = v % 10.
- В противном случае: проверка diff не равна last_digit - v % 10. Если это так, то arithm = false и выход из цикла.
- Если проверка не выполнилась, то last_digit = v % 10, v /= 10.
- Если v = 0, то выход из цикла.
- По завершению цикла, переменная arithm будет иметь правильное значение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д