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

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

Войти
Регистрация
Восстановить пароль
 
FL4SH
0 / 0 / 0
Регистрация: 01.12.2010
Сообщений: 12
#1

Сумма факториалов цифр заданного числа - C++

30.10.2011, 12:16. Просмотров 887. Ответов 7
Метки нет (Все метки)

Посчитать сумму факториалов цифр заданного числа
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2011, 12:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сумма факториалов цифр заданного числа (C++):

Проверить условие: сумма цифр заданного числа N превосходит произведение цифр этого же числа на 1 - C++
Составит линейную логическую программу, печатающую значение 1, если указанное высказывание является истинным, и 0 – в противном случае:...

Сумма цифр заданного числа N - C++
Добрый день ! Помогите написать программу , вычисляющую сумму цифр заданного числа N. Рекурсивным и не рекурсивным способом. Заранее ...

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

Определить равна ли сумма k цифр дробной части заданного вещественного числа сумме цифр целой части - C++
Помогите доделать задание, исправьте пожалуйста код!!! Срочно! Задание: Выполнить задания, выделяя цифры числа, хранящегося в переменной...

Сумма цифр заданного четырехзначного числа делиться на а с остатком b. - C++
составить программу, печатающую значение TRUE, если указанное высказываение является истинным, и FALSE В противном случае:

составить линейную программу (сумма двух первых цифр заданного четырёхзначного числа равна сумме двух его последних цифр) - C++
составить линейную программу , печатающую значение true , если указанное высказывание является истинным , и false - в противном случае. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
30.10.2011, 12:22 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
long long factorial( int n )
{
    int res = 1;
    while ( n > 1 )
        res *= n--;
    return res;
}
 
int main()
{
    long long x, answer = 0;
    std::cin >> x;
    for ( ; x ; x /= 10 )
        answer += factorial( abs(x % 10) );
    std::cout << answer;
}
2
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
30.10.2011, 12:25 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <boost/math/special_functions/factorials.hpp>
 
int main()
{
    unsigned int n = 1234;
    float sum = 0;
 
    while ( n )
    {
        sum += boost::math::factorial < float > ( n % 10 );
        n /= 10;
    }
 
    std::cout << sum << std::endl;
 
    std::cin.get();
    return 0;
}
2
Thinker
Эксперт C++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.10.2011, 12:30 #4
Вариант с небольшой оптимизацией, если эту задачу надо решить для нескольких чисел

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
28
29
#include<stdio.h>
#include<math.h>
#include<conio.h>
 
long fact[10];
 
long Sum(long a)
{
    long sum = 0;
    a = abs(a);
    while (a)
    {
        sum += fact[a%10];
        a /= 10;
    }
    return sum;
}
 
int main()
{
    long i;
    fact[0] = 1;
    for (i = 1; i < 10; i++)
        fact[i] = i*fact[i-1];
    printf("%ld\n", Sum(123));
    printf("%ld\n", Sum(12345));
    getch();
    return 0;
}
2
isaak
102 / 39 / 9
Регистрация: 17.10.2010
Сообщений: 658
30.10.2011, 15:35 #5
Михаил у меня ваш код не работал, я его немного подправил:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cmath>
 
int main()
{ 
    unsigned int n = 1234;
    
   float sum = 0;
 
    while ( n )
    {
        sum += ( n % 10 );
        n /= 10;
    }
 
    std::cout << sum << std::endl;
 
    std::cin.get();
    return 0;
}
1
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
30.10.2011, 15:39 #6
Цитата Сообщение от isaak Посмотреть сообщение
Михаил у меня ваш код не работал, я его немного подправил:
У вас просто сумма цифр считается. А нужна сумма факториалов цифр.
0
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
30.10.2011, 15:41 #7
Цитата Сообщение от isaak Посмотреть сообщение
Михаил у меня ваш код не работал, я его немного подправил:
Я использовал библиотеку boost. Немного подправить - не пойдет
0
isaak
102 / 39 / 9
Регистрация: 17.10.2010
Сообщений: 658
30.10.2011, 18:59 #8
Михаил как ее подключить VS2010?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2011, 18:59
Привет! Вот еще темы с ответами:

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

Проверить, больше ли сумма цифр заданного четырехзначного числа, чем 10 - C++
Введите четырехзначное число. Проверьте, больше ли 10 сумма его цифр.

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

Найти n первых простых чисел, сумма цифр у которых меньше заданного числа - C++
Помогите написать программу! Условие: найти n первых простых чисел, сумма цифр у которых меньше заданного m.


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

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

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