Pascal!Даю 30 балов! Написать программу,помогите Дано 4-х значное число меньше вычислить произведение его чисел
Pascal!Даю 30 балов!
Написать программу,помогите
Дано 4-х значное число<вычислить произведение его чисел
Ответ(ы) на вопрос:
Гость
var n,m: integer;
begin
write('число: '); readln(n);
m:=1;
repeat
m:=m*(n mod 10);
n:=n div 10;
until n=0;
writeln('произведение цифр: ',m);
end.
Гость
Наверное имелось ввиду произведение его цифр, тогда может получиться так:
1. Решение без циклов
//PascalABC.NET (версия 3.1, сборка 1198 от 11.03.2016)
var n,x,p: integer;//n1-кол-во четных, n2-нечетных
begin
read(n);
p:=1;
//получаем остаток от деления (единицы) и умножаем на него p
x:=n mod 10; p:=p*x;
//отбрасываем единицы
n:=n div 10;
//получаем остаток от деления (десятки) и умножаем на него p
x:=n mod 10; p:=p*x;
//отбрасываем десятки
n:=n div 10;
//получаем остаток от деления (сотни) и умножаем на него p
x:=n mod 10; p:=p*x;
//отбрасываем сотни
n:=n div 10;
//получаем остаток от деления (тысячи) и умножаем на него p
x:=n mod 10; p:=p*x;
//отбрасываем тысячи
n:=n div 10;
///получаем остаток от деления (сотни тысяч) и умножаем на него p
x:=n mod 10; p:=p*x;
// Теперь в p находится произведение единицы*сотни*тысячи*сотни тысяч
writeln('Произведение цифр ',p);
end.
2. Решение с циклом
//PascalABC.NET (версия 3.1, сборка 1198 от 11.03.2016)
var n,x,p: integer;
begin
readln(n);
p:=1;
while n>0 do begin
x:=n mod 10; p:=p*x;
n:=n div 10;
end;
writeln('Произведение цифр ',p);
end.
Не нашли ответ?
Похожие вопросы