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

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

Войти
Регистрация
Восстановить пароль
 
QremQ
4 / 4 / 0
Регистрация: 23.08.2009
Сообщений: 32
#1

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

22.01.2012, 19:17. Просмотров 372. Ответов 5
Метки нет (Все метки)

сделал прогу

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
Посмотрите здесь:

C++ Определить, является ли введенное значение года високосным, если введено корректное значение
Массивы, нужно определить минимальный элемент, вывести его значение и индекс... C++
C++ Опишите функцию int vms(int Vkmh), которая переводит значение Vkmh из км/ч в м/с
Описать функцию int vms(int Vkmh), которая переводит значение Vkmh из км/ч в м/с C++
Где нужно писать сообщение об ошибке, если ввели неправильное значение? C++
Определить, для какого наибольшего n можно вычислить значение (2n)!!, используя int C++
Даны действительные числа x, y. Если x и y отрицательные, то х присвоить значение удвоенного модуля х. Если положительно одно из них, то увеличить у в C++
C++ Определить значение угла для минутной стрелки, если известен угол часовой
Что если число будет слишком большим и не поместиться в int? C++
C++ Двойной цикл: нужно получить первое значение если выполнится условие
Нужно ввести текст, если он больше 80 символов нужно чтоб он переходил на новую строку C++
Определить, является ли значение целочисленной переменной х четным. Если является, то вывести на печать значен C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6451 / 4917 / 451
Регистрация: 14.02.2011
Сообщений: 16,313
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
Модератор
6451 / 4917 / 451
Регистрация: 14.02.2011
Сообщений: 16,313
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
Модератор
6451 / 4917 / 451
Регистрация: 14.02.2011
Сообщений: 16,313
22.01.2012, 20:23     Нужно определить предельное значение n! если n - int #6
Цитата Сообщение от QremQ Посмотреть сообщение
Спасибо все получилось
для спасибы кнопка есть
Yandex
Объявления
22.01.2012, 20:23     Нужно определить предельное значение n! если n - int
Ответ Создать тему
Опции темы

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