Определить, есть ли в числе 2 одинаковые цифры - C (СИ)

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

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

Итак, наткнулся недавно на такую хитрую, на первый взгляд лёгкую ззадачу, но, попробывав её решить, начал очень сильно напрягаться. Сейчас же почти сделал эту программу и хочу поделится(ну и попросить её доделать)этой задачей Итак: Необходимо написать программу, на ввод которая получает число, а на выводе отвечает, есть ли в этом числе 2 одинаковые цифры, или нет Как говорю, задача очень хитрая и над ней нужно сильно подумать, кому нужно могу отправить то что я смог сделать, пишите в скайп: Krock21rus P.s. Задача для 8 класса

Решение задачи: «Определить, есть ли в числе 2 одинаковые цифры»

textual
Листинг программы
#include <stdio.h>
 
int have_same_digits(unsigned n) {
    if ( n > 9 ) {
        unsigned last = n % 10;
        unsigned left = n / 10;
        
        while ( left ) {
            if ( last == ( left % 10 ) )
                return 1;
            left /= 10;
        }
        
        return have_same_digits(n / 10);
    }
    else
        return 0;
}
 
int main(void) {
    unsigned n;
    
    while ( printf("Number: ") && scanf("%u", &n) == 1 )
        printf("%s\n", ( have_same_digits(n) ) ? "YES" : "NO");
    
    return 0;
}

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


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

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

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