Огромное число в с++
В университете дали задачку на подсёт суммы всех n-значных символов. Например: n = 3 (сумма от 100 до 999). Подсчёт я делаю при помощи формулы на cуммы арифметической прогресии: ((pow(10, n - 1) + (10, n) - 1) * (pow(10, n) - 1 + pow(10, n - 1) + 1))
Вопрос: при вводе n = 80 итоговый результат получиться на более чем 250 символов, можно-ли вывести подсчёт без использывания сторонних библиотек. (Язык только С++)
Ответы (2 шт):
Сумма двузначных чисел равна 4905. Трехзначных - 494550.
Дальше сумма имеет такой вид: 494 (9) 55 (0), где количество 9 равно n-3, а количество 0 равно n-2.
Т.е. например в сумме девятизначных чисел (n = 9) девяток будет 6, а нулей 7: 494999999550000000.
Если не ошибся, то
int main()
{
int n;
cin >> n;
if (n <= 2) { cout << "Такие вещи считают в уме!"; return 0; }
cout << 494;
for(int i = 0; i < n-3; ++i) cout << 9;
cout << 55;
for(int i = 0; i < n-2; ++i) cout << 0;
cout << endl;
}