Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Модератор
2639 / 1751 / 920
Регистрация: 16.10.2013
Сообщений: 5,067
Записей в блоге: 14
1

Как сделать так чтобы факториал находился лишь из целых неотрицательных чисел?

13.03.2014, 20:43. Показов 1260. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую вас, форумчане. Подскажите, как сделать так чтобы факториал находился лишь из целых неотрицательных чисел? В противном случае выдавать сообщение об ошибке. Не знаю как условие проверки составить, чтобы исключались дробные числа..
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2014, 20:43
Ответы с готовыми решениями:

Сделать так чтобы разбиения, отличающиеся лишь порядком слагаемых, различными не считались
var n, i, j, g: integer; begin Write('Vvedite chislo n>0= '); readln (n); for i:=0 to n do...

как сделать так чтобы сайт находился в поисковиках
подскажите как сделать так чтобы сайт находился в поисковиках недавно прочитал что мета тэги не...

Написать программу, которая вычисляет факториал неотрицательных целых чисел n
//3. Дано натуральное число n. Написать программу, которая вычисляет факториал неотрицательных...

Как сделать так, чтобы компонент находился в конкретной точке?
Как сделать так, чтобы компонент находился в конкретной точке?

6
184 / 168 / 53
Регистрация: 27.01.2013
Сообщений: 788
13.03.2014, 20:50 2
Pascal
1
if x=round(x)
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
13.03.2014, 20:56 3
saden, вещественно число никогда не будет равно целому (х - вещественное, результат round - целое)
тут надо попробовать что-то из разряда
Delphi
1
if Frac(x) = 0 then....
т.е. дробная часть равна нулю (или меньше какого-либо малого эпсилон)
1
Модератор
2639 / 1751 / 920
Регистрация: 16.10.2013
Сообщений: 5,067
Записей в блоге: 14
13.03.2014, 20:58  [ТС] 4
Цитата Сообщение от saden Посмотреть сообщение
if x=round(x)
Delphi
1
if not a=round(a)
ругается [DCC Error] Calculator.pas(456): E2015 Operator not applicable to this operand type
a - real
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
13.03.2014, 20:58 5
Лучший ответ Сообщение было отмечено long399 как решение

Решение

к примеру вот так, защита от неправильного ввода

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function fact(x: String): Integer;
var i: Integer;
    k: Integer;
begin
  if not TryStrToInt(x, k) or (StrToInt(x) < 0) then
    begin
      Result := -1;
      Exit;
    end;
  Result := 1;
  for i := 1 to k do
    Result := Result * i;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
var n: Array [0..4]of String;
    i: Integer;
begin
  n[0] := '5';
  n[1] := '5a';
  n[2] := '2.5';
  n[3] := 'cc';
  n[4] := '-6';
  for i := 0 to Length(n) - 1 do
 
  if fact(n[i]) <> -1 then
    Memo1.Lines.Add('Факториал от ' + n[i] + ' = ' + IntToStr(fact(n[i])))
  else
    Memo1.Lines.Add('Факториал от ' + n[i] + ' = ERROR');
end;
вот результат от разных значений
Код
Факториал от 5 = 120
Факториал от 5a = ERROR
Факториал от 2.5 = ERROR
Факториал от cc = ERROR
Факториал от -6 = ERROR
1
184 / 168 / 53
Регистрация: 27.01.2013
Сообщений: 788
13.03.2014, 21:04 6
Цитата Сообщение от cotseec Посмотреть сообщение
вещественно число никогда не будет равно целому
у меня работало. Если сильно страшно
Pascal
1
if x-round(x)=0
Добавлено через 5 минут
Цитата Сообщение от long399 Посмотреть сообщение
Delphi
1
if not a=round(a)
ругается [DCC Error] Calculator.pas(456): E2015 Operator not applicable to this operand type
a - real
по-моему, нот выполняется раньше. Возьми сравнение в скобки
1
Модератор
2639 / 1751 / 920
Регистрация: 16.10.2013
Сообщений: 5,067
Записей в блоге: 14
13.03.2014, 21:33  [ТС] 7
Разобрался, спасибо всем большое!!!
0
13.03.2014, 21:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2014, 21:33
Помогаю со студенческими работами здесь

как сделать так, чтобы интерфейс программы находился в отдельном файле
как в 6 версии visual studio сделать так, чтобы интерфейс программы находился в файле complex.h,...

Как сделать так, чтобы график занимал не всю форму, а лишь определенную часть
Здравствуйте, Как сделать так, чтобы график занимал не всю форму, а лишь определенную часть,...

Возможно ли сделать так чтобы лишь 1му пользователю который использует Wi-Fi был доступен интернет?
То вот вай-фай тчк. и пусть к ней подключаются все, а интернет от этой точки будет доступен лишь...

Как распределить 6 произвольных целых чисел на 2 группы так, чтобы выполнялось условие
Добрый вечер, подскажите, как распределить 6 произвольных целых чисел на 2 группы так, чтобы...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru