Написать программу с использованием классов на С++. Дано натуральное число n (n меньше 10000). Определить сколько цифр в числе, чему равна сумма его цифр,...

Написать программу с использованием классов на С++. Дано натуральное число n (n<10000). Определить сколько цифр в числе, чему равна сумма его цифр,...Написать программу с использованием классов на С++. Дано натуральное число n (n<10000). Определить сколько цифр в числе, чему равна сумма его цифр, найти последнюю цифру числа. На СИ++, не на паскаль
Гость
Ответ(ы) на вопрос:
Гость
#include #include using namespace std; class NumHandler { int number; public: NumHandler(int n): number(n) {} int getDigitCount() { int ret = 1, tested = 1, div; while (true) { div = (int) number / tested; if (div == 0) { return ret - 1; } else { ret++; tested *= 10; } } } int getDigitSum() { int ret = 0, tenMult = pow(10, getDigitCount() - 1), div; while (tenMult >= 1) { div = (int) number % (tenMult * 10) / tenMult; ret += div; tenMult /= 10; } return ret; } int getLastDigit() { return number % 10; } }; int main() { int num; cout << "n = "; cin >> num; NumHandler handler(num); cout << endl; cout << "Число цифр: " << handler.getDigitCount() << endl; cout << "Сумма цифр: " << handler.getDigitSum() << endl; cout << "Последняя цифра: " << handler.getLastDigit() << endl; return 0; }
Не нашли ответ?
Ответить на вопрос
Похожие вопросы