Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Troo
1 / 1 / 0
Регистрация: 09.10.2013
Сообщений: 73
#1

Количество различных цифр в числе рекурсия - C++

10.01.2014, 18:19. Просмотров 559. Ответов 5
Метки нет (Все метки)

для натурального n вывести количество разных цифр, участвовавших в его
записи.

Помогите составить рекурсивную функцию,
я плохо понимаю, а зачет завтра.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using namespace std;
 
int Colichestvo (int n);
 
int main()
{
    int n;
    cin>>n;
 
    return 0;
}
int Colichestvo (int n)
{
    int p=0;
    for (int i=0; i<n; i++)
        if( mas[i])
        p++;
    return p;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2014, 18:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Количество различных цифр в числе рекурсия (C++):

Рекурсия: количество цифр в числе, сумма цифр и реверс числа - C++
Вот задание: Написать программу, которая запрашивает у пользователя целое число, на экран выводит сколько цифр в числе, их сумму и...

Количество различных цифр в числе - C++
Дано натуральное число n. Подсчитать количество различных цифр, встречающихся в k-старших разрядах его записи. Почему не работает...

Количество различных цифр в числе - C++
Добрый вечер! Задали написать программу на С++ для нахождения количество различных цифр в числе с использованием массива. Я...

количество различных цифр в заданном числе. - C++
определить количество различных цифр в заданном числе. (Например, если задано число 1225, то количество различных цифр должно быть...

Определить количество различных цифр в натуральном числе - C++
Всем добрый день! Задали задачу: дано число N. И надо определить количество различных цифр в нем. Например, 1221 - 2 цифры (1 и 2);...

Рекурсия: подсчитать количество цифр в заданном натуральном числе - C++
Доброго времени суток. Задание было такое: Тема - Рекурсивные функции пользователя. Подсчитать количество цифр в заданном натуральном...

5
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
10.01.2014, 18:46 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//Работает для натуральных чисел
#include <iostream>
 
int Count(int n, int b = 0)
{
    if(!n)
        return 0;
    if((1<<(n%10)) & b)
        return Count(n/10, b);
    
    b |= 1<<(n%10);
    return Count(n/10, b)+1;
}
 
int main()
{
    int n = 123456;
    std::cout << Count(n) << std::endl;
}
2
Troo
1 / 1 / 0
Регистрация: 09.10.2013
Сообщений: 73
10.01.2014, 19:54  [ТС] #3
Dani, а если число с клавиатуры вводить?
0
S_el
2113 / 1633 / 308
Регистрация: 15.12.2013
Сообщений: 6,395
10.01.2014, 20:01 #4
Цитата Сообщение от Troo Посмотреть сообщение
а если число с клавиатуры вводить?
C++
1
2
int n
cin>>n
0
outoftime
║XLR8║
511 / 433 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
10.01.2014, 20:08 #5
Troo, пара слово по поводу кода Dani, он использует битмаску для хранения цифр которые уже встречались, т.к. int имеет 32 бити для 10 цифр этого более чем достаточно.
0
Troo
1 / 1 / 0
Регистрация: 09.10.2013
Сообщений: 73
10.01.2014, 20:19  [ТС] #6
S_el, это то я написала,
у меня ошибку в выводе выдает

Добавлено через 3 минуты
у меня функция стоит после главной

я добавила её название перед мейном
но все равно ошибка,

а если перед главной функцию оставить, то все нормально работает

Добавлено через 1 минуту
Dani, а не могли бы вы объяснить что в функции происходит?

C++
1
2
3
4
5
6
7
8
9
10
int Count(int n, int b = 0)
{
    if(!n)
        return 0;
    if((1<<(n%10)) & b)
        return Count(n/10, b);
    
    b |= 1<<(n%10);
    return Count(n/10, b)+1;
}
0
10.01.2014, 20:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2014, 20:19
Привет! Вот еще темы с ответами:

Рекурсия, подсчитать количество цифр в заданном целом числе - C++
Подсчитать количество цифр в заданном целом числе n

Определить количество цифр в числе n и сумму всех его цифр - C++
Дано натуральное n , определить количество цифр в числе n и сумму всех его цифр. Значение n ввести с клавиатуры. Добавлено через...

Напишите программу, выводящую на экран количество цифр в этом числе и сумму этих цифр - C++
я начинающий! помогите! мне на екзам! Дано натуральное число а (a&lt;100). Напишите программу, выводящую на экран количество цифр в этом...

С клавиатуры вводится положительное натуральное число. Определить количество цифр в числе (сумму цифр) - C++
С клавиатуры вводится положительное натуральное число. Определить количество цифр в числе (сумму цифр)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.