Задача на цикл - 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 будет иметь правильное значение.

Объяснение кода листинга программы

  1. Объявлены переменные: v = 753, arithm = true, last_digit = v % 10, diff = 0.
  2. Запущен цикл for от 0 до 100.
  3. Проверка: если i = 1, то diff = last_digit - v % 10, last_digit = v % 10.
  4. В противном случае: проверка diff не равна last_digit - v % 10. Если это так, то arithm = false и выход из цикла.
  5. Если проверка не выполнилась, то last_digit = v % 10, v /= 10.
  6. Если v = 0, то выход из цикла.
  7. По завершению цикла, переменная arithm будет иметь правильное значение.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5
Похожие ответы