Дано натуральное число. Верно ли, что в его десятичной записи есть шесть единиц подряд - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Нужно создать консольное приложение. Задание звучит так: "Дано натуральное число. Верно ли, что в его десятичной записи есть шесть единиц подряд?" Бред полный конечно, но если я правильно понял, то выглядит это так если пользователь вводит число типа 5321111114567 то ответ да есть 6 едениц если типо 532532652676 то нет нету. Я если честно понятия не имею как это реализовать. Мы только начали проходить Си и по идее предпологается что это нужно реализовать лиш путём if'oв и циклов. Как сделать это без массива чисел я не знаю, хотя даже если и с массивом то я ещё слишком нюб что бы правильно его написать =((( Помогите кто чем может. Мне бы хоть идею(

Решение задачи: «Дано натуральное число. Верно ли, что в его десятичной записи есть шесть единиц подряд»

textual
Листинг программы
int foo (long num) {
    int count = 0;
 
    while (num) {
 
        count = 0;
 
        while (num && (num % 10 == 1) ) {
            ++count;
            num /= 10;
        }
        if (count >= 6)
            return 1;
        
        num /= 10;
    }
    return 0;
}

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

В данном коде определена функция с именем foo, которая принимает на вход целое число, представленное в двоичной системе счисления, и проверяет, есть ли в его десятичной записи шесть единиц подряд. Внутри функции создана переменная count, которая инициализируется нулем и используется для подсчета количества единиц. Затем следует два вложенных цикла. Первый из них выполняется до тех пор, пока число не станет равным нулю. Второй цикл проверяет, является ли последняя цифра числа единицей. Если это так, то переменная count увеличивается на единицу, а число делится на десять. Эти действия повторяются до тех пор, пока число не станет равным нулю или не будет выполнено условие count >= 6. Если условие count >= 6 выполняется, то функция возвращает 1, иначе возвращает 0.

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


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

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

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