#include <iostream>
int sd(int v) { return v < 10? v : v % 10 + sd(v / 10); }
int pd(int v) { return v < 10? v : v % 10 * pd(v / 10); }
int main() {
int n;
std::cout << "n? ";
std::cin >> n;
for (int c = 1; c < n; ++c) if ( sd(c) == pd(c) ) std::cout << c << ' ';
return 0;
}
ЗЫ:
> Alexey
> (1..n).each do |i| t = i; m := 1; s := 0; while (i > 0) do begin m := m * (i % 10); s := s + i ; i = i / 10; end; if (s == m) then print "#{ i }\n"; end;
Что-то оно совсем не рабочее с этими ":="
(1...n).each {|c| print "#{c} " if ((a = c.to_s.chars.map(&:to_i)).reduce(:*) == a.reduce(:+)) }
> Schadow
> Прошу прощения забыл язык написать C++
А "пожалуйста" ты не забыл сказать?
Другие языки программирования и технологии
Дано натуральное число n. Найти и вывести все числа в интервале от 1 до n -1, у которых произведение всех цифр совпадает
(1..n).each do |i| t = i; m := 1; s := 0; while (i > 0) do begin m := m * (i % 10); s := s + i ; i = i / 10; end; if (s == m) then print "#{ i }\n"; end;
Похожие вопросы
- Решите задачу! Дано целое число n найдите сумму 1^n +2^n-1 + 3^n-2 ...+n^1
- Дано натуральное число п. Найти знакочередующуюся сумму цифр числа n:
- даны натуральные числа n и m(0 <=m <= 9)дополнить запись числа n в начале и в конце цифрой m
- как решить через abc pascal задачу "Дано натуральное число n. Получить все простые делители этого числа"
- Дано натуральное число n и вещественная матрица размера n X 9 . Плиз помогите(
- Помогите пожалуйста!Паскаль. Дано натуральное число N. Получить наименьшее число вида 2(m в степени), превосходящее N.
- Помогите написать программу Дано натуральное число n. Вычислить сумму всех k(k+1), k меняется от 1 до n.
- В некоторой стране используются денежные купюры достоинством в 1, 2, 4, 8, 16, 32 и 64. дано натуральное число N. Как на
- Дано натуральное число N. Напечатать все его делители.
- дано натуральное число N. Определить является ли оно полиндромом. Паскаль