Сумма и произведение цифр числа
Просмотров 11.9к. Обновлено 29 октября 2021
- Присвоить переменной, в которой будет накапливаться сумма цифр, значение 0, а переменной для накопления произведения — значение 1 (если присвоить 0, то при умножении результат обнулится).
- Пока введенное число не уменьшится до нуля выполнять следующие действия:
- В переменную для суммы цифр добавлять последнюю цифру числа, извлеченную при нахождении остатка от деления на 10.
- Значение переменной для хранения произведения цифр умножить на последнюю цифру числа.
- Избавиться от последней цифры числа, разделив его нацело на 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
Язык Си
#includemain() {
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 задачи
Найти сумму и произведение цифр, введенного натурального числа. Например, если введено число 2023, то сумма его цифр равна – (2+0+2+3), а произведение – (2*0*2*3).Разбор задачи на Pascal
Как решить задачу на Pascal
1)Установите переменную, где сумма цифр будет суммироваться, на 0, а переменную накопления произведения на 1 (если вы присвоите 0, умножение обнулит результат).
2) Пока введенное число не уменьшится до нуля, выполните следующие действия:
а)В переменную суммы цифр добавьте последнюю цифру извлеченного числа, найдя остаток от деления на 10.
б)Значение переменной для хранения произведения цифр умножается на последнюю цифру числа.
с)Избавьтесь от последней цифры числа, разделив его на 10.
Решение задачи с помощью 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 г.
Комментарии могут оставлять только зарегестрированные пользователи!
Комментарии
Ваш комментарий будет первым !
Раздел:
Задачи /
Простейшие /
Найти произведение цифр заданного четырехзначного числа
Основы программирования Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее… |
Вообще условие задачи уже озвучено в заголовке, но на всякий случай повторю.
Условие задачи
Задача 6.1.2.4
Найти произведение цифр заданного четырехзначного числа
Задача простая, но, судя по количеству запросов в Интернете, далеко не все могут решить её самостоятельно. Вам советую всё-таки попробовать это сделать. А уже потом посмотреть решение.
Как найти произведение цифр числа
Поскольку по условию число является четырёхзначным, то это сильно упрощает нам задачу. Алгоритм решения может быть, например, таким:
- Получить остаток от деления на 10. Это будет крайняя правая цифра числа.
- Получить остаток от деления на 100 и разделить результат на 10. Это будет вторая справа цифра числа.
- Получить остаток от деления на 1000 и разделить результат на 100. Это будет третья справа цифра числа.
- Выполнить целое деление на 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
Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… |
|
Помощь в технических вопросах
Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: 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;