![]() |
#1 (permalink) |
Новичок
Регистрация: 18.05.2013
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]() 1*3*5*..*n для нечетных n N!!= 2*4*6*..*n для четных Вот мой код: var a, n, sum1, sum2:integer; begin readln(n); sum1:=1; sum2:=1; if a mod 10 = 2 or 4 or 6 or 8 or 0 then for a:=1 to n do begin sum1:=a*sum1; end else for a:=1 to n do begin sum2:=a*sum2; end; writeln(sum1, ' ', sum2); end. |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Вот ссылки по которым содержаться темы интересные для вас Что за ошибка? Что за ошибка? Ошибка Ошибка Ошибка в МФУ Ошибка CRC |
![]() |
#2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]()
Так, это еще что за...?
Во-первых, почему а? Значение этого числа еще не определено. Вероятно, подразумевается n. Во-вторых, что за дикая конструкция? Если Вам надо проверить число n на четность, то это делается так: если n - четное, то (n mod 2)=0 для нечетного числа (n mod 2)=1 это, правда, если n - положительное. Если же нечетное n может быть и отрицательным, то в любом случае (n mod 2)<>0 И потом, в Ваших циклах я совсем не вижу выборки "через одно". Думайте. Удачи! |
![]() |
![]() |
![]() |
#5 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]()
Ну вот:
Код:
Var N,i:Byte; P1,P2:Real; Begin Write('N = '); Readln(N); P1:=1; P2:=1; for i:=1 to (N div 2) do begin P1:=P1*(2*i-1); P2:=P2*(2*i); end; If (N mod 2)=1 then P1:=P1*N; Writeln('P1 = ',P1:0:0,' P2 = ',P2:0:0); Readln End. |
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
#8 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]()
Вообще-то тогда задача довольно резко усложняется. Например, можно так:
Код:
Var N,M,i:Byte; P1,P2:Real; Begin Write('N = '); Readln(N); Write('M = '); Readln(M); P1:=1; P2:=1; If ((N mod 2)=0) and ((M mod 2)=0) then begin for i:=(N div 2) to (M div 2) do P2:=P2*(2*i); for i:=(N div 2) to (M div 2)-1 do P1:=P1*(2*i+1); end else If ((N mod 2)=0) and ((M mod 2)=1) then begin for i:=(N div 2) to (M div 2) do P2:=P2*(2*i); for i:=(N div 2) to (M div 2) do P1:=P1*(2*i+1); end else If ((N mod 2)=1) and ((M mod 2)=0) then begin for i:=(N div 2)+1 to (M div 2) do P2:=P2*(2*i); for i:=(N div 2) to (M div 2)-1 do P1:=P1*(2*i+1); end else If ((N mod 2)=1) and ((M mod 2)=1) then begin for i:=(N div 2)+1 to (M div 2) do P2:=P2*(2*i); for i:=(N div 2) to (M div 2) do P1:=P1*(2*i+1); end; Writeln('P1 = ',P1:0:0,' P2 = ',P2:0:0); Readln End. |
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|