Как найти произведение цифр числа паскаль

Сумма и произведение цифр числа

Просмотров 11.9к. Обновлено 29 октября 2021

  1. Присвоить переменной, в которой будет накапливаться сумма цифр, значение 0, а переменной для накопления произведения — значение 1 (если присвоить 0, то при умножении результат обнулится).
  2. Пока введенное число не уменьшится до нуля выполнять следующие действия:
    1. В переменную для суммы цифр добавлять последнюю цифру числа, извлеченную при нахождении остатка от деления на 10.
    2. Значение переменной для хранения произведения цифр умножить на последнюю цифру числа.
    3. Избавиться от последней цифры числа, разделив его нацело на 10.

Pascal

Сумма цифр числа паскаль


var
n, sum: word;
mult: longint;
begin
readln(n);
sum := 0;
mult := 1;
while n > 0 do begin
sum := sum + n mod 10;
mult := mult * (n mod 10);
n := n div 10;
end;
writeln('Sum: ', sum);
writeln('Mult: ', mult);
end.



462
Sum: 12
Mult: 48

Язык Си


#include

main() {
int n, s, m;
scanf("%d",&n);
s = 0;
m = 1;
while (n>0) {
s += n%10;
m *= n%10;
n = n/10;
}
printf("Сумма: %dnПроизведение: %dn", s, m);
}



245
Сумма: 11
Произведение: 40

Python

Сумма цифр числа python (питон)


n = int(input())
s = 0
m = 1
while n>0:
s += n%10
m *= n%10
n = n//10
print("Сумма:", s)
print("Произведение:", m)



567
Сумма: 18
Произведение: 210

КуМир


алг сумма цифр
нач
цел n, s, m
ввод n
s := 0
m := 1
нц пока n>0
s := s + mod(n,10)
m := m * mod(n,10)
n := div(n,10)
кц
вывод s, нс, m
кон



2932
16
108

Basic-256


input n
sum = 0
mult = 1
while n > 0
sum = sum + n%10
mult = mult * (n%10)
n = n10
endwhile
print "Сумма: " + sum
print "Произведение: " + mult



567
Сумма: 18
Произведение: 210

Найти произведение всех цифр заданного четырехзначного числа

3.08.2020

Найти произведение всех цифр заданного четырехзначного числа.

Для решения данной задачи необходимо вспомнить операторы div и mod. Div — целочисленное деление, mod — остаток от целочисленного деления.

Используя эти операторы выделяем цифры четырехзначного числа и находим их произведение:

program z_9;
var n, n1, n2, n3, n4: integer;
begin
  write('Введите черытехзначное число: ');  read(n);
  n1:=n mod 10;
  n2:=(n div 10) mod 10;
  n3:=(n div 100) mod 10;
  n4:=(n div 1000) mod 10;
  write('Произведение = ',n1*n2*n3*n4);
end.

Текст задачи:

Информатика. 10 класс. Базовый уровень. (Семакин И. Г., Хеннер Е. К., Шеина Т. Ю.)
Работа 3.1, Уровень 2, Задача №9

Автор:

Pascal задача. Найти сумму и произведение цифр натурального числа

Pascal задачи

Найти сумму и произведение цифр, введенного натурального числа. Например, если введено число 2023, то сумма его цифр равна – (2+0+2+3), а произведение – (2*0*2*3).Разбор задачи на Pascal

Как решить задачу на Pascal

1)Установите переменную, где сумма цифр будет суммироваться, на 0, а переменную накопления произведения на 1 (если вы присвоите 0, умножение обнулит результат).

2) Пока введенное число не уменьшится до нуля, выполните следующие действия:

а)В переменную суммы цифр добавьте последнюю цифру извлеченного числа, найдя остаток от деления на 10.

б)Значение переменной для хранения произведения цифр умножается на последнюю цифру числа.

с)Избавьтесь от последней цифры числа, разделив его на 10.

Решение задачи с помощью Pascal

Решение задачи с помощью Pascal

var
n, sum,mult: integer;
begin
readln(n);
sum := 0;
mult := 1;
while n > 0 do begin
sum := sum + n mod 10;
mult := mult * (n mod 10);
n := n div 10;
end;
writeln(‘Сумма: ‘, sum);
writeln(‘Произведение: ‘, mult);
end.

Pascal задачи
Все задачи на Паскаль

Репост статьи

30 ноября 2022 г.

Комментарии могут оставлять только зарегестрированные пользователи!



Комментарии

Ваш комментарий будет первым !

Напиши программу, которая принимает натуральное число n, а затем n чисел от 1 до 100. выведи максимальное из них, которое заканчивается на 1. если такого числа нет, напечатай «нет».

Pascal задача.Даны натуральные числа n, m. Получите сумму m последних цифр числа n.

Раздел:
Задачи /
Простейшие /

Найти произведение цифр заданного четырехзначного числа

Основы программирования 2.0

Основы программирования
Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать.
Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь.
Подробнее…

Вообще условие задачи уже озвучено в заголовке, но на всякий случай повторю.

Условие задачи

Задача 6.1.2.4
Найти произведение цифр заданного четырехзначного числа

Задача простая, но, судя по количеству запросов в Интернете, далеко не все могут решить её самостоятельно. Вам советую всё-таки попробовать это сделать. А уже потом посмотреть решение.

Как найти произведение цифр числа

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

  1. Получить остаток от деления на 10. Это будет крайняя правая цифра числа.
  2. Получить остаток от деления на 100 и разделить результат на 10. Это будет вторая справа цифра числа.
  3. Получить остаток от деления на 1000 и разделить результат на 100. Это будет третья справа цифра числа.
  4. Выполнить целое деление на 1000. Это будет первая слева цифра числа.

По идее надо ещё проверить число, которое ввёл пользователь (если, конечно, мы предоставим ему такую возможность).

Так как число является четырёхзначным, то оно не может быть менее 1000 и более 9999.
Вот это условие мы и должны проверить, прежде чем выполнять какие-то действия.

Также число может быть отрицательным. Но про знак числа в условиях задачи ничего не сказано. Поэтому будем считать, что оно положительное (в любом случае цифры числа не могут быть отрицательными, так что даже если допустить, что число будет отрицательным, то на результат это не повлияет, а придётся только добавить дополнительную проверку вхождения числа в диапазон -9999…-1000).

Ну а теперь решения на Паскале и С++.

Решение задачи 6.1.2.4 на Паскале

program multinum;

//****************************************************************
// ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ
//****************************************************************
var
  Num : word;   //Число
  D0  : word;   //Крайняя правая цифра числа
  D1  : word;   //Вторая справа правая цифра числа
  D2  : word;   //Третья справа цифра числа
  D3  : word;   //Крайняя левая цифра числа

//****************************************************************
// ОСНОВНАЯ ПРОГРАММА
//****************************************************************
begin
  Write('Enter a 4-digit integer : ');
  ReadLn(Num);

  //Проверить правильность ввода данных
  if (Num < 1000) or (Num > 9999) then
    begin
      WriteLn('The number must be in the range 1000...9999');
      ReadLn;
      Exit;   //Выйти, если данные неправильные
    end;

  D0 := Num mod 10;
  D1 := (Num mod 100) div 10;
  D2 := (Num mod 1000) div 100;
  D3 := (Num div 1000);

  WriteLn('The digits of number :', D3:2, D2:2, D1:2, D0:2);
  Write(D3, ' * ', D2, ' * ', D1, ' * ', D0, ' = ');
  WriteLn(D3 * D2 * D1 * D0);

  WriteLn('The end. Press ENTER...');
  ReadLn;
end.

Решение задачи 6.1.2.4 на С++

#include 
#include 

using namespace std;

//****************************************************************
// ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ
//****************************************************************
unsigned short int Num;  //Число
unsigned short int D0;   //Крайняя правая цифра числа
unsigned short int D1;   //Вторая справа правая цифра числа
unsigned short int D2;   //Третья справа цифра числа
unsigned short int D3;   //Крайняя левая цифра числа

//****************************************************************
// ОСНОВНАЯ ПРОГРАММА
//****************************************************************
int main(int argc, char *argv[])
{
  cout << "Enter a 4-digit integer : ";
  cin >> Num;

  //Проверить правильность ввода данных
  if ((Num < 1000) || (Num > 9999))
  {
    cout << "The number must be in the range 1000...9999" << endl;
    system("PAUSE");
    return EXIT_SUCCESS;  //Выйти, если данные неправильные
  }

  D0 = Num % 10;
  D1 = (Num % 100) / 10;
  D2 = (Num % 1000) / 100;
  D3 = (Num / 1000);

  cout << "The digits of number : ";
  cout << D3 << ' ' << D2 << ' ' << D1 << ' ' << D0 << endl;
  cout << D3 << " * " << D2 << " * " << D1 << " * " << D0 << " = ";
  cout << D3 * D2 * D1 * D0 << endl;
  
  system("PAUSE");
  return EXIT_SUCCESS;
}

Как стать программистом 2.0

Как стать программистом 2.0

Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки…
Подробнее…

Помощь в технических вопросах

Помощь в технических вопросах

Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение – ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации.
Подробнее…

Голосование за лучший ответ

Elizabeth Krivonos

Профи

(576)


13 лет назад

число перевести в строку, строку разобрать на символы, символы перевести в числа, числа перемножить 🙂

Calmer

Знаток

(457)


13 лет назад

вопрос нормально задай или пример приведи

AllodМастер (1335)

13 лет назад

Вводим 523
Вывод 30
Действие 5х2х3

Андрей Шепелев

Знаток

(435)


13 лет назад

var s:real;
a,d:integer;
begin
read(a);
s:=1;
repeat
d:= a mod 10;
s:=s*d;
a:= round(a/10-0.5);
utile a>1;
write(s);
end.

Андрей Кузьменко

Мастер

(1205)


13 лет назад

Зависит от числа введенного

Bomberman

Мастер

(1716)


13 лет назад

var a,b,s:integer;
begin
s:=1;
read(a)
while a<>0 do
begin
b:=a mod 10;
a:=a div 10;
s:=s*b;
end;
write(s);
end;

Добавить комментарий