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

Нужно определить предельное значение n! если n - int - C++

Восстановить пароль Регистрация
 
QremQ
4 / 4 / 0
Регистрация: 23.08.2009
Сообщений: 32
22.01.2012, 19:17     Нужно определить предельное значение n! если n - int #1
сделал прогу

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h>
#include <conio.h>
#include <limits.h>
int main()
{
clrscr();
int i,F,n,max;
max=INT_MAX;
F=1;
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
  if(F<max && F>0) {F=F*i;cout<<"\nF="<<F;}
  else break;
cout<<"\nF="<<F;
getch();
return 0;
}
Но как убрать последнее превышение не пойму..., ведь при последнем умножении все равно выход из диапазона, т.е. при n=8 получаем превышение и F=-25216
очень надеюсь на помошь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2012, 19:17     Нужно определить предельное значение n! если n - int
Посмотрите здесь:

Переменной k логического типа присвоить значение true в том случае, если массив n целых чисел упорядочен по возрастанию, i значение false если нет C++
C++ Опишите функцию int vms(int Vkmh), которая переводит значение Vkmh из км/ч в м/с
Где нужно писать сообщение об ошибке, если ввели неправильное значение? C++
C++ Для чего нужно писать в int main() в скобках всякие args потом объявлять переменные, и прочее. Для чего если можно в сборках это все обьявлять.
В программе объявлена переменная int x=1; определить значение выражения х>0 && x<1 ? 10/x : 10*x C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
22.01.2012, 19:21     Нужно определить предельное значение n! если n - int #2
Цитата Сообщение от QremQ Посмотреть сообщение
if(F<max && F>0) {F=F*i;cout<<"\nF="<<F;}
else break;
Цитата Сообщение от QremQ Посмотреть сообщение
Но как убрать последнее превышение не пойму...,
можно так
C++
1
2
3
if(F>max/i )
    break;
F=F*i;cout<<"\nF="<<F;
QremQ
4 / 4 / 0
Регистрация: 23.08.2009
Сообщений: 32
22.01.2012, 19:24  [ТС]     Нужно определить предельное значение n! если n - int #3
тоже самое получается, он выводит последнее значение F=-25216, может другой цикл использовать?
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
22.01.2012, 19:26     Нужно определить предельное значение n! если n - int #4
или так
C++
1
2
3
if((F*i)>max || (F*i)<0) 
 break;
F=F*i;cout<<"\nF="<<F;
Добавлено через 46 секунд
Цитата Сообщение от QremQ Посмотреть сообщение
тоже самое получается
ты посмотри я поправился
QremQ
4 / 4 / 0
Регистрация: 23.08.2009
Сообщений: 32
22.01.2012, 19:39  [ТС]     Нужно определить предельное значение n! если n - int #5
Цитата Сообщение от ValeryS Посмотреть сообщение
или так
C++
1
2
3
if((F*i)>max || (F*i)<0) 
 break;
F=F*i;cout<<"\nF="<<F;
Добавлено через 46 секунд

ты посмотри я поправился
Спасибо все получилось
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
22.01.2012, 20:23     Нужно определить предельное значение n! если n - int #6
Цитата Сообщение от QremQ Посмотреть сообщение
Спасибо все получилось
для спасибы кнопка есть
Yandex
Объявления
22.01.2012, 20:23     Нужно определить предельное значение n! если n - int
Ответ Создать тему
Опции темы

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