Требуется написать программу, которая находит сумму и произведение цифр трёхзначного числа x.
Формат входных данных
Входной поток содержит одно целое число x (100≤x≤999).
Формат выходных данных
Требуется в одной строке вывести два числа — сумму и произведение цифр числа x в соотвественном порядке.
C/C++
Помогите с заданием.с++
Могу на пыхе или джаве наваять.
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
using ullong_t = unsigned long long;
vector<unsigned> split(ullong_t n) {
static const auto ten = 10ULL;
vector<unsigned> box;
do box.push_back(static_cast<unsigned>(n % ten)); while (n /= ten);
return box;
}
unsigned sum(const vector<unsigned>& box) {
return accumulate(box.begin(), box.end(), 0U);
}
ullong_t product(const vector<unsigned>& box) {
return accumulate(box.begin(), box.end(), 1ULL, multiplies<>());
}
int main() {
cout << "Positive number: ";
ullong_t n;
cin >> n;
auto box = split(n);
auto s = sum(box);
cout << "Sum: " << s << '\n';
auto p = product(box);
cout << "Product: " << p << '\n';
system("pause > nul");
}
#include <vector>
#include <numeric>
using namespace std;
using ullong_t = unsigned long long;
vector<unsigned> split(ullong_t n) {
static const auto ten = 10ULL;
vector<unsigned> box;
do box.push_back(static_cast<unsigned>(n % ten)); while (n /= ten);
return box;
}
unsigned sum(const vector<unsigned>& box) {
return accumulate(box.begin(), box.end(), 0U);
}
ullong_t product(const vector<unsigned>& box) {
return accumulate(box.begin(), box.end(), 1ULL, multiplies<>());
}
int main() {
cout << "Positive number: ";
ullong_t n;
cin >> n;
auto box = split(n);
auto s = sum(box);
cout << "Sum: " << s << '\n';
auto p = product(box);
cout << "Product: " << p << '\n';
system("pause > nul");
}
#include< iostream >
using namespace std;
int main()
{
int a,pr =1,su = 0;
setlocale(LC_ALL, "ru");
cout << "Введите число\n";
while (1) {
cin >> a;
if (a >=100 && a <= 999) break; else cout << "Число должно быть от 100 до 999, введите еще раз" << endl;
}
for (int i = 0; i < 3; i++) {
pr *= a % 10;
su += a % 10;
a /= 10;
}
cout << "сумма = " << su << endl;
cout << "произведение = " << pr << endl;
}
using namespace std;
int main()
{
int a,pr =1,su = 0;
setlocale(LC_ALL, "ru");
cout << "Введите число\n";
while (1) {
cin >> a;
if (a >=100 && a <= 999) break; else cout << "Число должно быть от 100 до 999, введите еще раз" << endl;
}
for (int i = 0; i < 3; i++) {
pr *= a % 10;
su += a % 10;
a /= 10;
}
cout << "сумма = " << su << endl;
cout << "произведение = " << pr << endl;
}
Похожие вопросы
- Помогите с заданием по программированию язык C(не С++)
- Помогите понять задание С++
- Помогите сделать задания в С++
- Помогите решить задание на c++
- Помогите с заданием по программированию, С++, напишите код для 1 курса
- Помогите с заданием на С++
- Помогите решить задание на C++
- Доброго всем дня. Помогите с заданием по программированию С++ (Программа Dev-C++)
- Помогите решить задание
- Доброго всем дня. Помогите с заданием по программированию С++ (Программа Dev-C++)