Определить, есть ли в числе 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;
}