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

Факториал числа - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.61
Надічка
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 26
12.02.2013, 23:32     Факториал числа #1
Помогите пожалуйста мне надо найти (5!)!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2013, 23:32     Факториал числа
Посмотрите здесь:

факториал числа. я начинающий C++
C++ факториал макс. числа
C++ Вывести факториал числа
C++ Факториал числа
C++ факториал числа
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
12.02.2013, 23:32     Факториал числа #2
120.
Troll_Face
 Аватар для Troll_Face
599 / 399 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
12.02.2013, 23:38     Факториал числа #3

Не по теме:

iama, помогли



Добавлено через 1 минуту
Цитата Сообщение от Надічка Посмотреть сообщение
(5!)!
iama, а Вам не кажется что это (5!)!=120! ?! может у ТСа в этом и загвоздка
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
12.02.2013, 23:38     Факториал числа #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main ()
{
   int number;
   std::cin >> number;
   
   int factorial = 1;
   for (int i = 1; i <= number; i++)
       factorial *= i;
   std::cout << number << "!: " << factorial << std::endl;
   
   return 0;
}
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
12.02.2013, 23:39     Факториал числа #5

Не по теме:

Fatal Error, спросили — я ответил, не жалко.



Добавлено через 53 секунды
Цитата Сообщение от Fatal Error Посмотреть сообщение
iama, а Вам не кажется что это (5!)!=120! ?!
Возможно. Я посчитал, что это эмоциональность автора
Ev[G]eN
12.02.2013, 23:43
  #6

Не по теме:

Цитата Сообщение от iama Посмотреть сообщение
Возможно. Я посчитал, что это эмоциональность автора
та же фигня.

Troll_Face
12.02.2013, 23:53
  #7

Не по теме:

iama, Ev[G]eN, наивные

Байт
 Аватар для Байт
13951 / 8782 / 1221
Регистрация: 24.12.2010
Сообщений: 15,891
13.02.2013, 00:08     Факториал числа #8
Надічка, 120! находится только с помощью длинной арифметики
Ищите!
akk
 Аватар для akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
13.02.2013, 00:40     Факториал числа #9
Цитата Сообщение от Байт Посмотреть сообщение
длинной арифметики
Это число надо представлять как массив типа char ?
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
13.02.2013, 00:43     Факториал числа #10
akk, как любой массив целых чисел.
-=ЮрА=-
Заблокирован
Автор FAQ
13.02.2013, 01:46     Факториал числа #11
Цитата Сообщение от Надічка Посмотреть сообщение
Помогите пожалуйста мне надо найти (5!)!
Надічка, делается всё очень просто, важно лишь помнить что (5!)! == 120! - очень большое число, потому под него следует избрать соответсвующий тип данных, в данном случае double хватило
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
 
int main()
{
    double n;
    double fact;
    cout<<"n = ";cin>>n;
    for(fact = 1; 0 < n; n--)
        cout<<"\rfact = "<<(fact = fact*n);
    return 0;
}
Считается всё на ПК с CPU 2.7 порядка 1 сек
Миниатюры
Факториал числа  
Байт
 Аватар для Байт
13951 / 8782 / 1221
Регистрация: 24.12.2010
Сообщений: 15,891
13.02.2013, 02:23     Факториал числа #12
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
в данном случае double хватило
Когда ж вы все-таки будете отдавать себе отчет в своих словах?

Добавлено через 4 минуты
-=ЮрА=-, Простите, я забыл свой зарок - никогда не заходить в топы, где вы хоть чуть-чуть поучаствовали.
Я ведь все-таки по образованию - доктор-терапевт.
-=ЮрА=-
Заблокирован
Автор FAQ
13.02.2013, 02:53     Факториал числа #13
Результат работы программы выше...

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
Я ведь все-таки по образованию - доктор-терапевт.
- оно и видно

OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
13.02.2013, 03:15     Факториал числа #14

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
Когда ж вы все-таки будете отдавать себе отчет о том бреде, который несете?

Адрес: Москва
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Байт, я воспринял пост 12 как привселюдное оскорбление в свой адрес и клевету наносящие ущерб профессиональной деятельности гражданина, статью в УК РФ кинуть или нагуглишь?

Адрес: Украина, Донецк
Юра, вам не в УК РФ надо тыкать носом, а идти писать жалобу в Международный суд по правам человека. Гражданин другой страны всё же.



Ах да, ОП, держите. Сверитесь.

120! = 6689502913449127057588118054090372586752746333138029810295671352301633557244962989366874165271984981308157637893214090552534408589408121859898481114389650005964960521256960000000000000000000000000000
-=ЮрА=-
13.02.2013, 03:45
  #15

Не по теме:

~OhMyGodSoLong~, это только если я официально не веду каких либо дел на территории РФ...
Сверяться не сверяться, код на 2 поста выше реализует простое умножение n - 1 раз (самое что ни на есть поределение факториала). Автор темы не указал какая точность вычислений требуется, по мне ошибка в 12-м знаке это уже приемлимая точность. Ну и код класса длинной арифметики уж куда сложней будет того что выше.
6.6895029134491e+198 - достаточная точность с относительной ошибкой куда менее общепринятых критериев точного рассчёта. В остальном путь наш "доктор-программист" сверяется...

iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
13.02.2013, 09:36     Факториал числа #16
-=ЮрА=-, точно так же можно говорить, что 2 * 2 = 5 с точностью до единицы, ведь когда у меня спрашивали, мне не сказали, с какой точностью говорить ответ.

В этой задаче было совершенно очевидно, что весь смысл упражнения в работе с длинной арифметикой.
-=ЮрА=-
Заблокирован
Автор FAQ
13.02.2013, 11:11     Факториал числа #17
iama, e=[4-5]/4*100=25% это огромная ошибка!Попробуй тоже самое сделать с моим ответом,удивлен?
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
13.02.2013, 11:25     Факториал числа #18
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <boost/multiprecision/cpp_int.hpp>
 
typedef boost::multiprecision::cpp_int big_int_t;
 
template <class integer_t>
big_int_t operator !(integer_t value)
{
   big_int_t res = 1;
   
   for (unsigned i = 2; i <= value; ++i)
   {
      res *= i;
   }
   
   return res;
}
 
int main()
{
   big_int_t n = 5;
   std::cout << !!n << std::endl;
}
Результат: http://liveworkspace.org/code/3DATn4
anytka
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 27
13.02.2013, 11:26     Факториал числа #19
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Dim i as integer
Dim a aas long
a=1
For i= 1 to 5
a=a-i
a= 1*1
a=1*2
a=2*3
a=6*4
a=24*5
Next i
End sub
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2013, 11:29     Факториал числа
Еще ссылки по теме:

Факториал числа C++
C++ Рекурсия: факториал числа
C++ Факториал числа с рекурсией

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

Или воспользуйтесь поиском по форуму:
Байт
 Аватар для Байт
13951 / 8782 / 1221
Регистрация: 24.12.2010
Сообщений: 15,891
13.02.2013, 11:29     Факториал числа #20
[

Не по теме:

quote=Байт;4127294]-=ЮрА=-, Простите, я забыл свой зарок - никогда не заходить в топы, где вы хоть чуть-чуть поучаствовали.[/quote] Ну вот, нарушил зарок - и получил чудовищный минус в репу Так мине и надо! Дал зарок - не нарушай!

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
статью в УК РФ
Ну мне остается только обратиться в общество защиты животных

Yandex
Объявления
13.02.2013, 11:29     Факториал числа
Ответ Создать тему
Опции темы

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