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

Вычислить факториал натурального числа n из отрезка [1;20] - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать программу, которая будет сообщать на экран, сколько корней имеет квадратное уравнение ax²+bx+c=0. http://www.cyberforum.ru/cpp-beginners/thread614689.html
Создать программу, которая будет сообщать на экран, сколько корней имеет квадратное уравнение ax²+bx+c=0. Коэффициенты a, b и c пользователь вводит с клавиатуры. Пример оформления программы: Введите коэффициент a при квадрате x: 2 Введите коэффициент b при x: 3 Введите свободный член c: 1 Ваше уравнение имеет два различных корня Следующая тема с названием не по правилам форума будет...
C++ Округление и вывод вещественное число Создать программу, округляющую и выводящую на экран вещественное число, введенное пользователем с клавиатуры, в виде целого числа. Например, если пользователь ввёл число -3.2, то на экран выводится -3; если пользователь ввёл -1.95, то на экран выводится -2; если пользователь ввёл 17.5, то на экран выводится 18. http://www.cyberforum.ru/cpp-beginners/thread614686.html
C++ Eсть хоть какие-то идеи?
Построить чертеж: «В прямоугольном параллелепипеде провести перерез, который проходит через сторону нижней основы и противоположную сторону верхней основы.
C++ Ввести символ и вывести сообщение
Ввести символ и вывести сообщение: -«красный», если введена либо большая, либо маленькая русская буква «к»; -«синий», если введена либо большая, либо маленькая русская буква «с»; -«зеленый», если введена либо большая, либо маленькая русская буква «з»; и «символ не распознается» при вводе любого другого символа.
C++ Найти и вывести на экран наибольший нетривиальный делитель числа http://www.cyberforum.ru/cpp-beginners/thread614640.html
Пользователь вводит с клавиатуры натуральное число, найти и вывести на экран наибольший нетривиальный (т.е. не равный введённому числу или единице) делитель числа, либо сообщить, что число простое. Например, если пользователь ввёл 17, то на экран выводится сообщение «число простое»; если пользователь ввёл 24, то на экран выводится сообщение «наибольший нетривиальный делитель: 12».
C++ Как правильно закрыть процесс Я пишу программу мониторинга Для этого использую драйвер и в драйвере подменяю CreateSection Как правильно закрыть процесс _asm{ //save execution contect and calls check() -the rest depends upon the value check() returns // if it is 1, proceed to the actual callee. Otherwise,return STATUS_ACCESS_DENIED pushfd pushad подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
27.06.2012, 14:47     Вычислить факториал натурального числа n из отрезка [1;20]
Цитата Сообщение от MrGluck Посмотреть сообщение
А я бы решал так:
unsigned long long factorial(unsigned long long n)
{
* * return !n ? 1 : n * factorial(n - 1);
}
- таже рекурсия только компактней записанная ввиду использования тернарного оператора, дело тут вот в чём неверное вычисление для ULONG обусловлено следующим
ULONG_MAX = 4294967295
12 ! = 479001600
13 ! = 6227020800
Т.е. на 13-ти уже выскакиваем за пределы ULONG_MAX от того и некоректный подсчёт.
 
Текущее время: 04:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru