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

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

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

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

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

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

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
valeriikozlov
Эксперт C++
4670 / 2496 / 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);
 
}
0
Versus666
0 / 0 / 0
Регистрация: 11.11.2010
Сообщений: 22
22.11.2010, 00:11  [ТС] #3
valeriikozlov, вы меня не так поняли)) Произвольное число нужно ввести самому и чтобы после завершения операции программа не закрывалась сама...
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
22.11.2010, 00:14 #4
Цитата Сообщение от Versus666 Посмотреть сообщение
чтобы после завершения операции программа не закрывалась сама...
Используй getch()
0
Versus666
0 / 0 / 0
Регистрация: 11.11.2010
Сообщений: 22
22.11.2010, 00:16  [ТС] #5
Да я оч слаб в программировании и постоянно когда использую эту функцию вылетает какая-нибудь ошибка, вот и обращаюсь за помощью))
0
easybudda
Модератор
Эксперт CЭксперт С++
9627 / 5575 / 947
Регистрация: 25.07.2009
Сообщений: 10,710
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;
}
1
Versus666
0 / 0 / 0
Регистрация: 11.11.2010
Сообщений: 22
23.11.2010, 12:12  [ТС] #7
А можно вывести на экран ещё и промежуточные числа получившиеся в результате сложения а не только конечный ответ?

Добавлено через 16 часов 10 минут
Может кть-нибудь так сделать?
0
easybudda
Модератор
Эксперт CЭксперт С++
9627 / 5575 / 947
Регистрация: 25.07.2009
Сообщений: 10,710
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;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2010, 12:28
Привет! Вот еще темы с ответами:

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

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

Найти простые числа, чтобы сумма их цифр, а также сумма цифр следующего за ним числа, делилась на 7 - C++
задание:&quot;найдите простые числа такие, чтобы сумма их цифр, а также сумма цифр следующего за ним числа делилась на 7&quot; помогите...

Определить для числа: является ли сумма его цифр двузначным числом; больше ли сумма его цифр числа "а" - C++
4.24. Дано двузначное число. Определить: а) является ли сумма его цифр двузначным числом; б) больше ли числа &quot;a&quot; сумма его...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.11.2010, 12:28
Ответ Создать тему
Опции темы

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