Uses crt; var n,s,s1,s2,k:integer; begin writeln('Введите число: '); readln(n); s:=0;...

0 голосов
158 просмотров

Uses crt;
var
n,s,s1,s2,k:integer;
begin
writeln('Введите число: ');
readln(n);
s:=0;
s1:=0;
s2:=0;
while n>0 do begin
inc(k);
if k mod 2 = 0 then begin
s:=s+n mod 10;
n:=n div 10;
end
else
begin
s1:=s1+n mod 10;
n:=n div 10;
end;
if k mod 2 = 0 then s2:=s1 else s2:=s;
end;
writeln('symma=',s2);
end.
Надо сделать чтобы считало произведение .
задача такова.Дано число,найти произведение цифр стоящих на четных местах.


Информатика (384 баллов) | 158 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Uses crt;
var
n,p:integer;
begin
writeln('Введите число: ');
readln(n);
p:=1;
while n>=10 do begin
p:=p*(n mod 100 div 10);
n:=n div 100;
end;
writeln('p = ',p);
end.

Пример:
Введите число: 
236584
p = 96

(194k баллов)
0

Неправильно считает

0

3*5*4=60

0

Это на четных

0

В Вашей программе цифры считаются справа налево, т.е. цифры на четных местах 8*6*2 = 96

0

а как сделать слева направо ?

0

Оформите другую задачу и ЧЁТКО сформулируйте - что должна делать программа. Можно дать числовые примеры.

0

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