Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
diffmike
7 / 7 / 0
Регистрация: 19.03.2010
Сообщений: 12
#1

Кратность девяти. Рекурсия. - C++

25.12.2010, 21:33. Просмотров 1172. Ответов 2
Метки нет (Все метки)

Нужно проверить делится ли натуральное число на 9, с помощью признака делимости (сумма цифр делится на 9) и рекурсии. Как без рекурсии, так без проблем, а вот как сделать через рекурсию как-то плохо себе представляю...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2010, 21:33     Кратность девяти. Рекурсия.
Посмотрите здесь:

Вывести сообщение, кратно ли заданое число девяти - C++
Дано число а. Выведите сообщение или это число кратное 9.

Проверить, кратно ли р девяти, используя признак делимости на девять - C++
Мне срочно необходимо решение этой задачи пожалуйчта помогите мне... Дано натуральное число p. Проверить, кратно ли р девяти,...

проверить кратное ли вводимое число девяти через функцию - C++
#include <iostream> #include <stdio.h> #include <conio.h> #include <math.h> bool func(int number) { if(number%9) ...

Кратность - C++
Сколько среди введенных четных чисел кратно 2.

Ветвление и кратность - C++
Задание такое: С клавиатуры задаётся целое число А > -5. Для положительного однозначного числа определить, является ли оно чётным; для...

Массив+кратность. найти ошибку. - C++
13. Îïðåäåëèòå â ïðîãðàììå ìàññèâ int m = {6, 17, 28, 7, 74, 29, 45, 3, 28, 8, 10, 87, 19, 9, 5, 28, 2, 59, 12, 31}; ïîñëå ÷åãî...

Кратность числа в двоично десятичной кодировке - C++
Доброго времени суток! Есть такая задачка: Дано: 256 (512)-значное натуральное число в двоично-десятичном коде, которое задано байтовым...

Кратность чисел пользователь может указать y - x - C++
include <iostream> using namespace std; void main() { int x = 0; int y = 0; int c = 0; cout << "Enter number"; cin >>...

Определить кратность числа 8(объединения и битовые поля) - C++
Всем привет. Может кто подскажет как такая задача решается. Мне, кроме как использовать остаток от деления, ничего в голову не приходит ...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
25.12.2010, 21:59     Кратность девяти. Рекурсия. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
 
int foo(int numb, int sum)
{
     if(!numb)
       return sum;
     int k=numb%10;
     return foo(numb/10, sum+k);
}
 
bool isDiv(int numb, int div)
{
    return foo(numb, 0) % div == 0;  
}
 
int main()
{
    const int div=9;
    int n;
    std::cout<<"Enter n: ";
    std::cin>>n;
    if(isDiv(n, div))
       std::cout<<"Yes\n";
    else
       std::cout<<"No\n";
    return 0;
}
Байт
Эксперт C
15826 / 10153 / 1522
Регистрация: 24.12.2010
Сообщений: 19,140
25.12.2010, 23:32     Кратность девяти. Рекурсия. #3
Цитата Сообщение от diffmike Посмотреть сообщение
Нужно проверить делится ли натуральное число на 9, с помощью признака делимости (сумма цифр делится на 9) и рекурсии. Как без рекурсии, так без проблем, а вот как сделать через рекурсию как-то плохо себе представляю...
Рекурсия - великолепный механизм, но он таит в себе кучу всяких проблем. Стек. Хорошо. А сколь он велик? И как я могу им управлять? В каком месте моего рекурсивного алгоритма машинка скажет "Out of memory". Если задачка решается без рекурсии, слава великому Собачьему Богу! Но, увы, многие, и очень интересные задачи - принципиально рекурсивны (как жизнь). И вот, один из величайших программистов всех времен и народов, Дональд Кнут, рекурсивные алгоритмы РАСКРЫВАЕТ. Т.е. вводит "СТЕКИ". А рекурсии там нет!
Ну, об этом есть еще чего сказать. Но если задача допускает ПРОСТОЙ нерекурсивный алгоритм, то требовать ее реализовать в рекурсии - садизм. Наоборот, интереснее найти для рекурсивной реализации - нерекурсивную.
Мой любимый автор Д.Кнут показал, что это возможно, хотя и хлопонто.

Добавлено через 14 минут
И конечно, вычисление факториала через рекурсию - хороший педагогический прием.
Но он вызывает естественное изумление - а ЗАЧЕМ?
Ответ Создать тему
Опции темы

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