Pascal!Даю 30 балов! Написать программу,помогите Дано 4-х значное число<вычислить...

0 голосов

Pascal!Даю 30 балов!
Написать программу,помогите
Дано 4-х значное число<вычислить произведение его чисел


спросил от (58 баллов) в категории Информатика
2 Ответы
0 голосов
ответил от Отличник (9.7k баллов)
 
Лучший ответ

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.


оставил комментарий от (58 баллов)

until не проходили repeat тоже

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

А while проходили?

оставил комментарий от (58 баллов)

нет

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

А что из циклов проходили?

оставил комментарий от (58 баллов)

проходили read(a) div S:=a mod wtite(s) ну эти примеры

оставил комментарий от Отличник (9.7k баллов)

begin write('число: '); readln(n); m:=(n mod 10); m:=m*((n div 10) mod 10); m:=m*((n div 100) mod 10); m:=m*(n div 1000); writeln('произведение цифр: ',m); end.

0 голосов
ответил от Бакалавр (13.9k баллов)

Наверное имелось ввиду произведение его цифр, тогда может получиться так:

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.













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

Moжно и этот

оставил комментарий от (58 баллов)

спасибо,прости,мне алгебра и геометрия легко даётся,химия и информатика не даётся вообще..

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

Бывае, держитесь!

оставил комментарий от (58 баллов)

а вместо 10 надо 1000 писать?

оставил комментарий от (58 баллов)

И последнее пожалуйста.. writeln('Произведение цифр ',p);xnj nenn,

оставил комментарий от (58 баллов)

что тут?

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

Алгоритм работает так, что на каждом шаге он отсекает

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

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

оставил комментарий от (58 баллов)

а то что надо произведение 4-х значного числа это ничего не значит?

оставил комментарий от (58 баллов)

нашли геморой на свою попу:D

...