Register

OR

Do you already have an account? Login

Login

OR

Don't you have an account yet? Register

Newsletter

Submit to our newsletter to receive exclusive stories delivered to you inbox!

Дано целое число.Подсчитать в нём произведение цифр,которые расположены на нечётных позициях.

более месяца назад
Просмотров : 21    Ответов : 1   

Лучший ответ:

Здесь пришлось учитывать положительные и отрицательные числа, т.к. длина строки с отрицательным числом включает в себя и знак минус. Поэтому в некоторых местах программы я добавлю пояснение.

var
   n,p:integer;
   s: string;
begin
  write ('Введите число: ');
  readln (n);
  if n<0 then n:=-n; // отрицательное число переделываем в положительное, чтобы "длина строки" ниже не получилась больше количества цифр в числе
  str(n,s); // преобразуем число в строку, чтобы узнать длину числа (количество цифр)
  if (length(s) mod 2)=0 then n:=n div 10; // проверяем длину числа на четность. так как нам нужны цифры с НЕЧЕТНЫХ мест, убираем из числа последнюю цифру, которая стоит на ЧЕТНОМ месте:    
  p:=1;
  while n>=1 do begin // организуем цикл ПОКА число не станет меньше единицы (в цикле мы будем отрезать от него по две цифры)
    p:=p*(n mod 10); // произведение умножаем на последнюю цифру числа (остаток от деления числа на 10)
    n:=n div 100; // отрезаем от числа 2 последние цифры. (в последней итерации цикла оно примет вид 0,0х, т.е. будет больше 0, но меньше 1)
  end;
  writeln;
  writeln ('Произведение цифр,которые расположены на нечётных позициях, = ',p);
  end.

--------------------------------------
Проимер:

Введите число: -2323
Произведение цифр,которые расположены на нечётных позициях, = 4

более месяца назад
Ваш ответ:
Комментарий должен быть минимум 20 символов
Чтобы получить баллы за ответ войди на сайт





Вы можете из нескольких рисунков создать анимацию (или целый мультфильм!). Для этого нарисуйте несколько последовательных кадров и нажмите кнопку Просмотр анимации.


Другие вопросы: