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

Вычислить значение выражения - C++

Восстановить пароль Регистрация
 
Yulya95
-1 / 0 / 0
Регистрация: 19.11.2014
Сообщений: 14
20.11.2014, 11:19     Вычислить значение выражения #1
Найти значение выражения
2-5! + 3-8! / 6! + 4!
где га! означает факториал числа n (n! = n • 2 •... • n). (Определить
функцию для расчета факториала натурального числа.)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2014, 11:19     Вычислить значение выражения
Посмотрите здесь:

C++ Вычислить значение выражения
Вычислить значение выражения C++
C++ Вычислить значение выражения
Вычислить значение выражения C++
Вычислить значение выражения C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
20.11.2014, 11:26     Вычислить значение выражения #2
C++
1
2
3
4
5
6
7
8
9
unsigned long long int factorial(unsigned short int n)
{
 long long int r;
 for (r=1; n>0; --n)
 {
  r*=n;
 }
 return r;
}
, а где надо вычислить выражение, там
C++
1
2-factorial(5)+3-(unsigned long long int)((double)factorial(8)/(double)factorial(6)+0.5)+factorial(4);
.

Добавлено через 1 минуту
А так:
C++
1
2
3
4
5
6
7
8
unsigned long long int factorial(unsigned short int n)
{
 if (n==0)
 {
  return 1;
 }
 return n*factorial(n-1);
}
делать не надо.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,164
Завершенные тесты: 1
20.11.2014, 11:44     Вычислить значение выражения #3
Цитата Сообщение от taras atavin Посмотреть сообщение
делать не надо.
8! это всего лишь 40320.
И ничего страшного в обычном int и в рекурсии не случится!
К тому же там -8!/6! что равно -56.
Кстати - это и значение всего выражения!
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
20.11.2014, 12:24     Вычислить значение выражения #4
Цитата Сообщение от zss Посмотреть сообщение
И ничего страшного в обычном int и в рекурсии не случится!
А мало ли на каком уровне вложенного вызова он уже находится и сколько стека уже использовано и с какими типами (и количеством) параметров и локальных данных и с каким значением его догадаются вызвать? Не надо усугублять ещё 65536-тью уровнями бредятины.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,164
Завершенные тесты: 1
20.11.2014, 12:50     Вычислить значение выражения #5
Если уж говорить о данной задаче, я бы ее написал так
C++
1
2
3
4
5
#include <iostream>
int main()
{
  std::cout<<"2-5! + 3-8! / 6! + 4! = 56\n";
}
Yandex
Объявления
20.11.2014, 12:50     Вычислить значение выражения
Ответ Создать тему
Опции темы

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