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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 5.00
Versus666
0 / 0 / 0
Регистрация: 11.11.2010
Сообщений: 22
#1

Сумма цифр натурального числа - C++

21.11.2010, 21:28. Просмотров 1633. Ответов 7
Метки нет (Все метки)

Рассмотрим произвольное натуральное число и найдём сумму его цифр,затем сумму цифр полученного числа и так далее, пока не получиться однозначное число. Это числа назовём числовым корнем. Например возьмём число 1234567. Сумма его цифр равна 28. Сумма цифр полученного числа равна 10. Дальше сумма равна 1. Помогите написать такую программу...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2010, 21:28     Сумма цифр натурального числа
Посмотрите здесь:

Сумма цифр натурального числа - C++
люди, обясните мне пожалуста как работает ета функция { return n ? n % 10 + suma(n / 10) : 0; } , полностью опишите как ето работает,...

Сумма цифр натурального числа - C++
Нужна помощь по следующей задаче: {Дано натуральное число. Найдите сумму цифр данного числа. Написать рекурсивную функцию} Смотрел в...

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

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

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

Определить функцию для расчета суммы цифр натурального числа. Входной параметр – число. Возвращаемое значение – сумма. - C++
Помогите пожалуйста написать программу на с++ очень нужно Определить функцию для расчета суммы цифр натурального числа. Входной параметр...

Определить функцию для расчета суммы цифр натурального числа. Входной параметр – число. Возвращаемое значение – сумма - C++
Помогите написать пожалуйста программу на C++ Oпределить функцию для расчета суммы цифр натурального числа. Входной параметр – число....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
21.11.2010, 22:43     Сумма цифр натурального числа #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
int func(int a)
{
    while(a>9)
    {
        int temp=0;
        while(a>0)
        {
            temp+=a%10;
            a/=10;
        }
        a=temp;
    }
    return a;
}
void main ()
{
    int a=1234567;
    a=func(a);
    printf("%d", a);
 
}
Versus666
0 / 0 / 0
Регистрация: 11.11.2010
Сообщений: 22
22.11.2010, 00:11  [ТС]     Сумма цифр натурального числа #3
valeriikozlov, вы меня не так поняли)) Произвольное число нужно ввести самому и чтобы после завершения операции программа не закрывалась сама...
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
22.11.2010, 00:14     Сумма цифр натурального числа #4
Цитата Сообщение от Versus666 Посмотреть сообщение
чтобы после завершения операции программа не закрывалась сама...
Используй getch()
Versus666
0 / 0 / 0
Регистрация: 11.11.2010
Сообщений: 22
22.11.2010, 00:16  [ТС]     Сумма цифр натурального числа #5
Да я оч слаб в программировании и постоянно когда использую эту функцию вылетает какая-нибудь ошибка, вот и обращаюсь за помощью))
easybudda
Эксперт CЭксперт С++
9465 / 5478 / 927
Регистрация: 25.07.2009
Сообщений: 10,502
22.11.2010, 01:26     Сумма цифр натурального числа #6
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
    
int digits_sum(int num) { return ( num ) ? num % 10 + digits_sum(num / 10) : 0; }
int number_root(int num) { return ( num > 9 ) ? number_root(digits_sum(num)) : num; }
 
int main(void){
    int num;
    
    printf("For finish enter 0...\n");
    while ( printf("Number: ") && scanf("%d", &num) == 1 && num )
        printf("Root: %d\n", number_root(num));
    
    return 0;
}
Versus666
0 / 0 / 0
Регистрация: 11.11.2010
Сообщений: 22
23.11.2010, 12:12  [ТС]     Сумма цифр натурального числа #7
А можно вывести на экран ещё и промежуточные числа получившиеся в результате сложения а не только конечный ответ?

Добавлено через 16 часов 10 минут
Может кть-нибудь так сделать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2010, 12:28     Сумма цифр натурального числа
Еще ссылки по теме:

сумма цыфр натурального числа - C++
Для заданого натурального числа найти сумму цифр числа и найти число, в котором цифры расположены в обратном порядке

Сумма цифер натурального числа - C++
Дано натуральное число. Нужно проверить парна ли сумма его цифер. заранее спасибки)

Сумма делителей данного натурального числа - C++
Задание: Написать подпрограмму, которая вычисляет сумму делителей данного натурального числа Добавлено через 1 час 26 минут 24...

Сумма цифп произвольного натурального числа - C++
Рассмотрим произвольное натуральное число и найдем сумму его цифр, затем сумму цифр полученного числа и так далее, пока не получим...

Проверка цифр натурального числа - C++
Помогите, пожалуйста. Почему не работает?! Что тут не так? Как можно быстрее:cry: 1. Дано натуральное число n (0 &lt; n &lt; 9990)....


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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт CЭксперт С++
9465 / 5478 / 927
Регистрация: 25.07.2009
Сообщений: 10,502
23.11.2010, 12:28     Сумма цифр натурального числа #8
Цитата Сообщение от Versus666 Посмотреть сообщение
Может кть-нибудь так сделать?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
        
int digits_sum(int num) { return ( num ) ? num % 10 + digits_sum(num / 10) : 0; }
/* int number_root(int num) { return ( num > 9 ) ? number_root(digits_sum(num)) : num; } */
void print_roots(int num){
    printf("%d\n", num);
    if ( num > 9 )
        print_roots(digits_sum(num));
}
 
int main(void){
    int num;
    
    printf("For finish enter 0...\n");
    while ( printf("Number: ") && scanf("%d", &num) == 1 && num ){
        printf("Roots:\n");
    print_roots(digits_sum(num));
    }
        
    return 0;
}
Yandex
Объявления
23.11.2010, 12:28     Сумма цифр натурального числа
Ответ Создать тему
Опции темы

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