Задача по PASCAL

4meen
Сообщения: 4
Зарегистрирован: 30 ноя 2007, 10:51

30 ноя 2007, 11:02

Помогите с кодом, а то в своём ошибку никак не могу найти:

Задание, найти факториал четных и нечётных чисел:


Ребят, я сейчас в КОДе сижу, своего кода дать не могу, дайте Ваши вариаенты пожалуйста.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

30 ноя 2007, 11:28

Задачи сюда открытым текстом. Лезть на форум и регистрироваться там, чтобы решать за кого-то задачку - не хочется
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Аватара пользователя
annihilator
Сообщения: 30
Зарегистрирован: 27 ноя 2007, 00:22

30 ноя 2007, 13:28

а объяснить что надо можешь? а то я что то не понял суть задачи. Что есть n и k?
Вот представьте себе: чистое поле - ни кустика, ни деревца, и вдруг из-за угла выезжает танк!
Аватара пользователя
somewhere
Сообщения: 1837
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

30 ноя 2007, 13:43

Надо найти 1*3*5*7*... и 2*4*6*8*10*...
It's a long way to the top if you wanna rock'n'roll
4meen
Сообщения: 4
Зарегистрирован: 30 ноя 2007, 10:51

30 ноя 2007, 13:44

Чуть изменил условия задачи..

n - факториал вводимого числа, надо найти факториал чисел которые вводим.. четные числа, и нечётные числа..
Аватара пользователя
annihilator
Сообщения: 30
Зарегистрирован: 27 ноя 2007, 00:22

30 ноя 2007, 14:09

ну а что в этом сложного, если факториал укладывается в диапазоне переменной? используй тип extended:

Код: Выделить всё

var i,j:integer;
k:extended;
begin
writeln('введите число');
readln(i);
k:=1;
if i mod 2 = 0 then for j:=1 to (i div 2) do k:=k*2*j {2, 4, 6, etc}
else for j:=0 to (i div 2) do k:=k*(2*j+1); {1, 3, 5, etc}
writeln(k);
readln;
end;
вроде бы что то похожее на это, просто когда в колонках рубит сепультура как то в лом думать =) надеюсь, сама идея ясна?
Вот представьте себе: чистое поле - ни кустика, ни деревца, и вдруг из-за угла выезжает танк!
Аватара пользователя
annihilator
Сообщения: 30
Зарегистрирован: 27 ноя 2007, 00:22

30 ноя 2007, 14:11

а для факториала:

Код: Выделить всё

var i,j:integer;
k:extended;
begin
readln(i);
k:=1;
for j:=1 to i do
k:=k*j;
writeln(k);
end.
Вот представьте себе: чистое поле - ни кустика, ни деревца, и вдруг из-за угла выезжает танк!
Аватара пользователя
somewhere
Сообщения: 1837
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

30 ноя 2007, 14:43

Код: Выделить всё

var

f1, f2 : Extended;
n,x    : Integer;

begin
readln(n);
f1 := 1;
f2 := 1;
for x := 1 to n div 2 do
    begin
    f1 := f1*(2*x-1);
    f2 := f2*2*x;
    end;
if n mod 2 = 0 then f2:=f2*n else f1:=f1*n;
Writeln('F1 : ', f1:10:0);
Writeln('F2 : ', f2:10:0);
end.
It's a long way to the top if you wanna rock'n'roll
4meen
Сообщения: 4
Зарегистрирован: 30 ноя 2007, 10:51

30 ноя 2007, 18:54

Это понятно, делал так же ..
Запускать не получаеться..
Аватара пользователя
annihilator
Сообщения: 30
Зарегистрирован: 27 ноя 2007, 00:22

01 дек 2007, 10:03

ну а если не получается запустить то у тебя проблема с компилятором. Тебе сюда: http://www.freepascal.org/ качай компилер под твою ось. Там есть в том числе и целая куча дополнительных юнитов, которые в случае с турбопаскалем приходится искать отдельно. Не реклама, а так, личное мнение.
тем более что там дебаггер удобный. Не настолько, как в турбо, но тем не менее. Единственный минус - в той версии, что я скачал, мануалки снесли. Удачной компиляции, не забывай про синтаксис.
Вот представьте себе: чистое поле - ни кустика, ни деревца, и вдруг из-за угла выезжает танк!
Ответить