В чем ошибка?
Дано натурально число n. Вычеслить
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. |
Цитата:
Во-первых, почему а? Значение этого числа еще не определено. Вероятно, подразумевается n. Во-вторых, что за дикая конструкция? Если Вам надо проверить число n на четность, то это делается так: если n - четное, то (n mod 2)=0 для нечетного числа (n mod 2)=1 это, правда, если n - положительное. Если же нечетное n может быть и отрицательным, то в любом случае (n mod 2)<>0 И потом, в Ваших циклах я совсем не вижу выборки "через одно". Думайте. Удачи! |
тут имелось в виду что для чисел от 1 до N нечетных и четных
|
Цитата:
|
Ну вот:
Код:
Var |
спасибо, очень сильно помогли
|
А что надо изменить если брать от промежутка от N до M?
|
Цитата:
Код:
Var |
Часовой пояс GMT +4, время: 00:03. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.