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

0 голосов

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 баллов) в категории Информатика
1 Ответ
0 голосов
ответил от БОГ (194k баллов)
 
Лучший ответ

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

оставил комментарий от Начинающий (384 баллов)

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

оставил комментарий от Начинающий (384 баллов)

3*5*4=60

оставил комментарий от Начинающий (384 баллов)

Это на четных

оставил комментарий от БОГ (194k баллов)

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

оставил комментарий от Начинающий (384 баллов)

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

оставил комментарий от БОГ (194k баллов)

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

оставил комментарий от Начинающий (384 баллов)

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

...