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

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

Константин Тарасов

Гуру

(2645)


12 лет назад

Неее, это жесть какая-то. Это агромадное численция, какой дебил задает такие задания?
public class MyClass{
public static void main(String[] args) {
double num=1,length=0;
for(int i = 100;i<=999;i++) num*=i;
System.out.println(“”+num);
}
}
Вот что мне выдала Ява при дабле – Infinity.

Дмитрий

Гуру

(4681)


12 лет назад

А сколько всего чисел вводится? Допустим для трех
s:=1;
readln(a,b,c);
if a div 100 >=1 then //так для каждого числа
s:=s*a;
writeln(s);

Обложка к статье "Нахождение суммы и произведения цифр трехзначного числа в Python"

На чтение 3 мин Просмотров 1.6к. Опубликовано

Данная статья посвящена решению задачи в Python на нахождение суммы и произведения цифр трехзначного числа, которое вводит пользователь. Решение данной задачи может быть полезным для начинающих программистов, которые хотят улучшить свои навыки в работе с циклами, строками и математическими операциями в Python.

Нахождение суммы и произведения цифр трехзначного числа с помощью арифметических операций

Решить данную задачу можно с помощью применения простых математических операций. Сначала посмотри код, а после разберём его подробнее:

num = int(input("Введите трехзначное число: "))

# Получение цифр числа
digit1 = num // 100
digit2 = (num % 100) // 10
digit3 = num % 10

# Вычисление суммы цифр
sum_of_digits = digit1 + digit2 + digit3
print(f"Сумма цифр числа {num} равна {sum_of_digits}")

# Вычисление произведения цифр
product_of_digits = digit1 * digit2 * digit3
print(f"Произведение цифр числа {num} равно {product_of_digits}")
  1. Сначала мы получаем трехзначное число от пользователя, используя функцию input(). Функция input() возвращает строку, которую мы преобразуем в целое число с помощью функции int().
  2. Затем мы получаем каждую цифру числа, используя операции целочисленного деления и остатка от деления. Для первой цифры мы используем целочисленное деление на 100, чтобы получить первую цифру числа. Для второй цифры мы используем операцию остатка от деления на 100, чтобы получить последние две цифры числа, а затем выполняем целочисленное деление на 10, чтобы получить вторую цифру числа. Для третьей цифры мы используем операцию остатка от деления на 10, чтобы получить последнюю цифру числа.
  3. Затем мы вычисляем сумму цифр, складывая каждую цифру, и сохраняем ее в переменную sum_of_digits.
  4. Мы также вычисляем произведение цифр, умножая каждую цифру, и сохраняем его в переменную product_of_digits.
  5. Наконец, мы выводим сумму и произведение цифр с помощью функции print(). Мы используем символы форматирования {} для вставки переменных num, sum_of_digits и product_of_digits в строку.

Мы можем использовать цикл while и оптимизировать наш код для работы с целочисленными числами любого порядка:

# Получаем трехзначное число от пользователя
num = int(input("Введите трехзначное число: "))

# Инициализируем переменные для хранения суммы и произведения цифр
digit_sum = 0
digit_product = 1

# Разбиваем число на цифры с помощью операций деления и остатка от деления
while num != 0:
    # Получаем последнюю цифру числа
    digit = num % 10
    # Добавляем ее к сумме цифр
    digit_sum += digit
    # Умножаем ее на произведение цифр
    digit_product *= digit
    # Убираем последнюю цифру из числа
    num //= 10

# Выводим результаты на экран
print("Сумма цифр:", digit_sum)
print("Произведение цифр:", digit_product)

Нахождение суммы и произведения цифр трехзначного числа с помощью цикла for и извлечения символов строки

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

Вот пример решения нашей задачи:

num = input("Введите трехзначное число: ")
sum = 0
product = 1
for digit in num:
    sum += int(digit)
    product *= int(digit)

print("Сумма цифр:", sum)
print("Произведение цифр:", product)

Здесь мы сначала создаем переменные sum и product для хранения суммы и произведения цифр соответственно.

Далее мы используем цикл for для обхода каждой цифры числа. Внутри цикла мы преобразуем каждую цифру из строки в целое число с помощью функции int() и добавляем его к переменной sum. Также мы умножаем каждую цифру на переменную product, чтобы накапливать их произведение.

Наконец, мы выводим результаты на экран с помощью функции print().

Данный код будет работать для целых чисел любого порядка.

Перейти к содержанию

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

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

Если трехзначное число нацело разделить на 100, то получим число сотен, т.е. первую цифру этого числа.

Если найти остаток от деления на 10 любого целого числа, то этот остаток покажет число единиц в этом числе. Таким образом извлекается последняя цифра числа.

Чтобы извлечь среднюю цифру трехзначного числа (показывающую количество десятков), можно выполнить два действия:

  1. Разделить число нацело на 10. Тем самым избавиться от последней цифры трехзначного числа, превратив его в двузначное.
  2. Найти остаток от деления полученного двузначного числа на 10. Этот остаток и будет средняя цифра первоначального трехзначного числа.

Извлекая вышеописанным способом цифры числа их надо присвоить переменным. Т.к. цифр три, то и переменных будет три. После этого выполнить сложение и умножение значений переменных.

Pascal

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


var
n: integer;
a,b,c: byte;
begin
readln(n);
a := n div 100;
b := n div 10 mod 10;
c := n mod 10;
writeln('Сумма: ',a+b+c);
writeln('Произведение: ',a*b*c);
end.


Язык Си

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


#include

main() {
int n,a,b,c;
scanf("%d", &n);
a = n / 100;
b = n / 10 % 10;
c = n % 10;
printf("Сумма: %dn", a+b+c);
printf("Произведение: %dn", a*b*c);
}



349
Сумма: 16
Произведение: 108

Целочисленное деление выполняется в том случае, если оба операнда целые. Т.е. у целочисленного деления нет специального знака, а выбор между ним и обычным делением зависит от операндов. Если хотя бы один из операндов вещественное число, то и деление будет обычным.

Python

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


n = input("Введите трехзначное число: ")
n = int(n)

d1 = n % 10
d2 = n % 100 // 10
d3 = n // 100

print("Сумма цифр числа:", d1 + d2 + d3)
print("Произведение цифр числа:", d1 * d2 * d3)



Введите трехзначное число: 742
Сумма цифр числа: 13
Произведение цифр числа: 56

КуМир


алг сумма цифр
нач
ввод n
a := div(n,100)
b := mod(div(n,10),10)
c := mod(n,10)
вывод "Сумма: ", a+b+c, нс
вывод "Произведение: ", a*b*c, нс
кон


Basic-256


input n

a = n 100
b = n 10 % 10
c = n % 10

print a+b+c
print a*b*c


Обратите внимание на знак целочисленного деления. Это обратный слэш (), в то время как обычное деление обозначается обычным слэшем (/).

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

Дано ответов: 2

в произведении всех однозначных чисел 1*2*3*4*5*6*7*8*9 среди множителей есть 2 и 5, произведение которых 10, а значит последняя цифра будет 0 б) в произведние всех трехзначных чисел входит число 100, а значит последняя цифра будет 0 в) первое 100значное число равно 100..0 (одна 1 девяносто девять нулей), а значитпоследняя цифра указанного произведения равна 0








abankin97_zn


15 Март, 18


3 / 3 / 0

Регистрация: 27.06.2012

Сообщений: 165

Записей в блоге: 1

1

28.06.2012, 15:05. Показов 6147. Ответов 4


Студворк — интернет-сервис помощи студентам

Помогите решить небольшую задачку:
Среди всех трехзначных целых чисел найти те, произведение цифр которых равно N.
Можно без массивов? Я их ещё не проходил.



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

28.06.2012, 15:05

Ответы с готовыми решениями:

Есть ли среди чисел в диапазоне от А до В такие, произведение цифр которых равно С?
1. Написать программу на языке С++ для решения задачи: Даны два числа А, В и С. Определить, есть ли…

Поиск всех двухзначных чисел, произведение цифр которых равно 18 (Prolog 8)
Доброго времени суток, прошу помощи с поиском всех двухзначных чисел, произведение цифр которых…

Произведение цифр простого числа равно его порядковому номеру среди всех простых чисел
так как я имею только представление о программировании, смог сделать лишь это: объединение решета…

Написать код программы, вычисляющей сумму всех чисел массива, произведение цифр которых равно 12
Нужно написать программу во вложенном цикле через массив. Помогите, если вам не трудно. До самого…

4

Pahanuch

328 / 163 / 89

Регистрация: 03.11.2010

Сообщений: 920

28.06.2012, 15:58

2

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Program pror;
uses crt;
var a,i,s,r,y,N: integer;pr: real;
Begin
writeln ('Введите N:');
readln(N);
writeln ('N = ', N);
Randomize;
For i:=1 to 10 do
Begin
write ('Введите ',i,'-ое число: ');
read(a);
s:=a div 100;
r:=a mod 100 div 10;
y:=a mod 10;
pr:=y*r*s;
if (N=pr) then writeln('Произведение ', i,'-го 3-хзначного числа (', pr, ') = N (', N,')');
End;
writeln;
End.



1



programmistnub

3 / 3 / 0

Регистрация: 27.06.2012

Сообщений: 165

Записей в блоге: 1

28.06.2012, 16:13

 [ТС]

3

Pahanuch, там надо, чтобы из всех 3-х значных чисел:

Pascal
1
for i:=100 to 999

нашлись те, которые делятся на n:

Pascal
1
2
if s*r*y=n 
then

как-то так

Добавлено через 34 секунды
у меня почему-то неполучилось…

Добавлено через 1 минуту
мой код:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var n,i:integer;
    s,d,e:real;
begin
write('n= ');
read(n);
if (n>=0) and (n<=729) then  {максимальным произведением может быть 9*9*9 числа 999 равным 729}
begin
for i:=100 to 999 do
s:=i div 100;
d:=i mod 100 mod 10;
e:=i mod 10;
if s*d*e=n then
write('произведение цифр числа ',i,'равно ',n);
readln
end
else
writeln('неверно введено значение n');
readln;
end.



0



Pahanuch

328 / 163 / 89

Регистрация: 03.11.2010

Сообщений: 920

28.06.2012, 16:59

4

Это для всех чисел от 100 до 999

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Program pror;
uses crt;
var i,s,r,y,N: integer;pr: real;
Begin
writeln ('Введите N:');
readln(N);
writeln ('N = ', N);
if (n>=0) and (n<=729) then
Begin
For i:=100 to 999 do
Begin
s:=i div 100;
r:=i mod 100 div 10;
y:=i mod 10;
pr:=y*r*s;
if (N=pr) then writeln('Произведение цифр числа ', i,' = ', N);
End;
End
Else Writeln('N должно быть больше 0 и меньше 729');
writeln;
End.



1



3 / 3 / 0

Регистрация: 27.06.2012

Сообщений: 165

Записей в блоге: 1

28.06.2012, 17:52

 [ТС]

5

Теперь хорошо! Спасибо!



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

28.06.2012, 17:52

5

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