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

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

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

C++ Сумма цифр натурального числа
Сумма цифр натурального числа посредством рекурсии C++
Сумма каких-либо двух цифр заданного трехзначного натурального числа N равна третьей цифре. C++
Найдите такие натуральные числа, чтобы сумма их цифр, а также сумма цифр следующего за ним числа делилась на 7 C++
C++ Найти простые числа, чтобы сумма их цифр, а также сумма цифр следующего за ним числа, делилась на 7
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 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
 Аватар для MILAN
883 / 777 / 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
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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++

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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     Сумма цифр натурального числа
Ответ Создать тему
Опции темы

Текущее время: 04:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru