Написать программку с внедрением классов на С++. Дано естественное число n
Написать программу с внедрением классов на С++. Дано естественное число n (nlt;10000). Найти сколько цифр в числе, чему одинакова сумма его цифр, отыскать последнюю цифру числа. На СИ++, не на паскаль
Задать свой вопрос1 ответ
Егор Аникульчук
include lt;iostreamgt;
include lt;math.hgt;
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 gt;= 1)
div = (int) number % (tenMult * 10) / tenMult;
ret += div;
tenMult /= 10;
return ret;
int getLastDigit()
return number % 10;
;
int main()
int num;
cout lt;lt; "n = ";
cin gt;gt; num;
NumHandler handler(num);
cout lt;lt; endl;
cout lt;lt; "Число цифр: " lt;lt; handler.getDigitCount() lt;lt; endl;
cout lt;lt; "Сумма цифр: " lt;lt; handler.getDigitSum() lt;lt; endl;
cout lt;lt; "Последняя цифра: " lt;lt; handler.getLastDigit() lt;lt; endl;
return 0;
include lt;math.hgt;
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 gt;= 1)
div = (int) number % (tenMult * 10) / tenMult;
ret += div;
tenMult /= 10;
return ret;
int getLastDigit()
return number % 10;
;
int main()
int num;
cout lt;lt; "n = ";
cin gt;gt; num;
NumHandler handler(num);
cout lt;lt; endl;
cout lt;lt; "Число цифр: " lt;lt; handler.getDigitCount() lt;lt; endl;
cout lt;lt; "Сумма цифр: " lt;lt; handler.getDigitSum() lt;lt; endl;
cout lt;lt; "Последняя цифра: " lt;lt; handler.getLastDigit() lt;lt; endl;
return 0;
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Составить монолог от имени дневника двоечника 7-10 предложений
Русский язык.
Облако тегов