Как найти произведение нечетных чисел паскаль

0 / 0 / 0

Регистрация: 13.09.2015

Сообщений: 13

1

29.09.2015, 00:40. Показов 4819. Ответов 5


Студворк — интернет-сервис помощи студентам

Составить и отладить программу вычисляющую Y=1*3*5… длина последовтельности вводится с клавиатуры

буду очень благодарен



0



vovachuk

13 / 13 / 18

Регистрация: 08.01.2015

Сообщений: 53

29.09.2015, 01:06

2

Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Насколько я понял, условия задачи: «Найти произведение всех нечётных чисел до n» Если так, то:

Pascal
1
2
3
4
5
6
7
8
9
10
uses crt;
var a,i,y:longint;
begin
y:=1;
writeln('введите a');
readln(a);
for i:=1 to a do
if i mod 2 <> 0 then y:=y*i;
writeln('Y= ',y);
end.



1



JuriiMW

5056 / 2630 / 2345

Регистрация: 10.12.2014

Сообщений: 9,993

29.09.2015, 09:28

3

Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

vovachuk, и снова crt !
С клавиатуры вводится длина последовательности, а не максимальное из…
Вот так правильнее:

Pascal
1
2
3
4
5
6
7
8
9
10
var
  a, i, y : Longint;
  
begin
  Write('введите a='); ReadLn(a);
  y := 1;
  for i := 2 to a do
    y := y * (i*2 - 1);
  WriteLn('Y=', y);
end.

С оговоркой: a не больше 10.



1



Почетный модератор

64287 / 47586 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

29.09.2015, 09:46

4

Цитата
Сообщение от JuriiMW
Посмотреть сообщение

С оговоркой: a не больше 10.

Почему? Даже n! до 12, а n!! для нечетных до 21.

Добавлено через 1 минуту
Для четны до 18.



0



5056 / 2630 / 2345

Регистрация: 10.12.2014

Сообщений: 9,993

29.09.2015, 09:49

5

Puporev, сколько здесь членов 1*3*5*7*9*11*13*15*17*19*21 ?
И ещё: 1*3*5*7*9*11*13*15*17*19*21 = 13 749 310 575 — не лезет в longint



0



Почетный модератор

64287 / 47586 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

29.09.2015, 09:55

6

Понял, не N, а длина последовательности..



0



Формулировка задачи:

У меня вопрос.
Составьте программу нахождения произведения нечётных чисел 3*5*7*…*13.
Вот программа:

Вопрос: Если я число 13 переставлю на 90 то всё нормально, а если на 100, вылетает отрицательный ответ. Это нормально?

Код к задаче: «Составьте программу нахождения произведения нечётных чисел»

textual

Function MulN(n : Integer) : uint64;  { n -должно задаваться нечетным }
Begin
  If n>0 then MulN:=N*(MulN(n-2)) else MulN:=1;
end;
 
Begin
  Writeln(MulN(99));
end.

Полезно ли:

12   голосов , оценка 3.917 из 5

Условие задачи: Найти произведение первых n нечетных чисел натурального ряда с помощью цикла for (Язык Pascal).

Сложность: легкая.

Решение задачи

Для начала продумаем наше решение. Нам сказано найти произведение первых n нечетных чисел натурального ряда, это значит что числа у нас пойдут от 1 до n.

Мы зададим n , пустим цикл и в нем будем каждое число проверять на нечетность, если оно нечетное, то считаем произведение.

Нам понадобятся следующие переменные :

  • Переменная n — для количества чисел
  • Переменная i — для цикла
  • Переменная proiz — для произведения чисел
  • Начнем мы с каркаса нашей программы

    uses
    crt;
    var

    n , i ,proiz :
    integer
    ;
    begin
    write
    (
    'Введите кол-во чисел : '
    ); readln(n);
    proiz :=
    1
    ;
    end
    .

    Тут мы объявили переменные, и попросили пользователя ввести количество чисел, так же мы присвоили переменной proiz значение 1, для того чтобы произведение у нас не было всё время равным нулю.

    Теперь цикл , в котором мы будем определять четность числа, делать мы это будем с помощью операции mod, которая ищет остаток от деления, если остаток будет не равным нулю это будет означать что число нечетное и тогда мы можем его заносить в произведение :

    for
    i:=
    1
    to
    n
    do

    begin

    if
    (i
    mod
    2
    <>
    0
    )
    then

    proiz := proiz * i ;

    end
    ;

    Всё решение задачи Pascal

    uses
    crt;
    var

    n , i ,proiz :
    integer
    ;
    // объявили переменные
    begin
    clrscr;
    // очищаем экран
    write
    (
    'Введите кол-во чисел : '
    ); readln(n);
    // просим пользователя ввести кол-во чисел
    proiz :=
    1
    ;
    // присваиваем 1 произведение, чтобы оно всегда не равнялось нулю
    for
    i:=
    1
    to
    n
    do
    // пускаем цикл

    begin

    if
    (i
    mod
    2
    <>
    0
    )
    then
    // проверяем нечетное ли число

    proiz := proiz * i ;
    // если нечетное, то заносим его в произведение

    end
    ;
    writeln
    (
    'Произведение первых нечетных '
    , n ,
    ' чисел = '
    , proiz);
    // выводим результат
    readln;
    // чтобы программа не закрывалась
    end
    .

    Предыдущая

    ПрограммированиеЗадачи по Pascal. Найти номер наименьшего элемента в массиве.

    Следующая

    ПрограммированиеЗадачи по Pascal. Определить, есть ли среди цифр заданного пятизначного числа цифра 0.

    program main;

    var n, proiz, k, a: integer; //объявление переменных

    begin

    proiz:=1; //начальное значение счетчика произведения

    readln(n); //ввод количества чисел в последовательности

    for k:=1 to n do //цикл

    begin

    readln(a); //ввод следующего числа

    if (a mod 2<>0) then proiz:=a*proiz; // число нечётное, подсчитываем произведение

    end;

    writeln(‘proizvedenie =’,proiz); //вывод произведения нечётных чисел

    end.

    axatar:
    Тип ineger поддерживает в лучшем случае число 32767, а в условии произведение может получится равным 1000*3000= 3000000, так что прога не работает.

    Найти произведение всех нечетных чисел от числа «а» до числа «b».

    На странице вопроса Найти произведение всех нечетных чисел от числа «а» до числа «b»? из категории Информатика вы найдете
    ответ для уровня учащихся 10 — 11 классов. Если полученный ответ не
    устраивает и нужно расшить круг поиска, используйте удобную поисковую
    систему сайта. Можно также ознакомиться с похожими вопросами и ответами
    других пользователей в этой же категории или создать новый вопрос. Возможно,
    вам будет полезной информация, оставленная пользователями в комментариях, где
    можно обсудить тему с помощью обратной связи.

    Понравилась статья? Поделить с друзьями:
  • Как найти общения с друзьями
  • Content not available yet opensea как исправить
  • Как найти произведение цифр числа питон
  • Принтер не печатает пишет приостановлено как исправить
  • Как составить таблицу значений функции y ax2