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

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

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

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

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

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. int have_same_digits(unsigned n) {
  4.     if ( n > 9 ) {
  5.         unsigned last = n % 10;
  6.         unsigned left = n / 10;
  7.        
  8.         while ( left ) {
  9.             if ( last == ( left % 10 ) )
  10.                 return 1;
  11.             left /= 10;
  12.         }
  13.        
  14.         return have_same_digits(n / 10);
  15.     }
  16.     else
  17.         return 0;
  18. }
  19.  
  20. int main(void) {
  21.     unsigned n;
  22.    
  23.     while ( printf("Number: ") && scanf("%u", &n) == 1 )
  24.         printf("%s\n", ( have_same_digits(n) ) ? "YES" : "NO");
  25.    
  26.     return 0;
  27. }

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


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

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

11   голосов , оценка 4.182 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы