0 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 9
1

Рекурсивная функция для вычисления суммы цифр натурального числа

01.10.2017, 11:26. Показов 2145. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, написать рекурсивную функцию для вычисления суммы цифр натурального числа без использования строк, массивов и циклов.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2017, 11:26
Ответы с готовыми решениями:

Написать рекурсивную функцию number вычисления количества цифр натурального числа.
2. Написать рекурсивную функцию number вычисления количества цифр натурального числа.

Рекурсивная функция для вычисления количества цифр натурального числа
Нужно написать рекурсивную функцию для вычисления количества цифр натурального числа. Подскажите...

Рекурсивная функция нахождения суммы цифр натурального числа
Написать рекурсивную функцию нахождения суммы цифр любого натурального числа.

Рекурсивная функция для вывода цифр натурального числа в обратном порядке
написать рекурсивную функцию для вывода на экран цифр натурального числа в обратном порядке. ...

8
Centurio
01.10.2017, 13:34
  #2

Не по теме:

Цитата Сообщение от palamo Посмотреть сообщение
без использования строк, массивов и циклов.
А чего уж не сразу на калькуляторе? Требовать считать в Матлабе, запрещая пользоваться большинством его возможностей, - глупость.

0
Эксперт по математике/физике
6356 / 4064 / 1511
Регистрация: 09.10.2009
Сообщений: 7,550
Записей в блоге: 4
01.10.2017, 16:38 3
Без цикла вряд ли. Число х, сумма S
Matlab M
1
2
3
4
5
S=0;
while x>=1
   S=S+mod(x, 10);
   x=floor(x/10);
end;
1
Модератор
1616 / 1478 / 483
Регистрация: 13.09.2015
Сообщений: 5,116
01.10.2017, 20:54 4
Цитата Сообщение от jogano Посмотреть сообщение
Без цикла вряд ли.
Можно использовать условие if. Но лично мне так делать неинтересно.
0
Эксперт по математике/физике
3385 / 1908 / 571
Регистрация: 09.04.2015
Сообщений: 5,356
02.10.2017, 14:52 5
Лучший ответ Сообщение было отмечено Centurio как решение

Решение

Вот вариант рекурсивной функции с использованием решения jogano
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
function reshenie
    close all; clear all;
    x=1331;
    FC(x)
end
function [S]=FC(x)
    x=floor(x);
    S=0;
    if x>=1
        S=mod(x, 10)+FC(x/10);
    end
end
1
0 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 9
02.10.2017, 16:24  [ТС] 6
Спасибо!

А как можно переделать программку чтобы число, с которым будет работать программа не будет вшито в код, как у Вас вписано число 1331, а его можно будет подать на вход функции?
0
Эксперт по математике/физике
3385 / 1908 / 571
Регистрация: 09.04.2015
Сообщений: 5,356
12.10.2017, 08:02 7
Цитата Сообщение от palamo Посмотреть сообщение
а его можно будет подать на вход функции?
Выражайтесь яснее и однозначнее.
Что Вы имеете ввиду под словом "подать"?
Один из вариантов ответов на Ваш вопрос - на вход функции и так подается произвольное число х, определите х любым необходимым Вам способом.
1
0 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 9
12.10.2017, 09:53  [ТС] 8
Ну вот я не понимаю назначение function reshenie, что такое этот FC вообще? МОжно его как-то элиминировать, чтобы осталась просто одна функция )
Под "подать" я подразумеваю, чтобы можно было, скажем, из командной строки матлаба вызвать такую команду название_файла_с_функцией(1331), где вместо 1331 можно было подставить любое число.

Спасибо еще раз и извините, что я не очень пока соображаю в Матлабе )
0
Эксперт по математике/физике
3385 / 1908 / 571
Регистрация: 09.04.2015
Сообщений: 5,356
13.10.2017, 07:07 9
FC это встроенная функция. Сохраните только ее в отдельном файле скрипта FC.m, и если каталог, где она будет сохранена, доступен в текущем сеансе MATLAB, то Вы можете запускать FM(987654321) (или другое число) и получать результат.
Вариант с function reshenie реализован, что бы весь код размещался в одном любом файле скрипта, иначе требуется писать комментарии в сообщении в каких что файлах надо сохранять. Иначе всегда найдется недовольный, который напишет "А у меня не работает!!!!", и потом в 3-5 сообщениях надо клещами тащить, а что не работает, а какие сообщения об ошибках выдает, а в каком файле сохранен код, а доступен ли каталог MATLAB-у.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2017, 07:07
Помогаю со студенческими работами здесь

Написать рекурсивную функцию для вычисления суммы цифр натурального числа
Всем привет, очень нужна помощь, в заранее благодарна...=) Входной файл: z.in Выходной файл:...

Написать рекурсивную функцию для вычисления суммы цифр натурального числа
Написать рекурсивную функцию для вычисления суммы цифр натурального числа. Добавлено через 27...

Написать рекурсивную функцию для вычисления суммы цифр натурального числа
Написать рекурсивную функцию для вычисления суммы цифр натурального числа.

Функция для нахождения суммы цифр произвольного натурального числа
29. Вводятся 3 натуральных числа. Найти сумму цифр каждого из них (создать функцию для нахождения ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru