C/C++

Найти сумму всех n-значных чисел (1 ≤n ≤ 4).

Я НЕ ПОНИМАЮ ЧТО ОНИ ХОТЯТ, типа надо найти сумму чисел в промежутке от 1 до 4 или чо?
Здесь под n-значными числами наверно всё таки подразумеваются неотрицательные n-значные (целые) числа, потому что сумма всех n-значных чисел всегда равна нулю для любого натурального n, так как каждому неотрицательному n-значному числу всегда противостоит (тоже n-значное!) ему противоположенное отрицательное целое число со знаком минус, сумма которого с противостоящим ему неотрицательным всегда равна нулю. Ну и какой тогда смысл постоянно получать круглый нуль, если вычислять сумму всех n-значных чисел, а не только натуральных?
Если 1≤n≤4, то лучше вычислять эту сумму через цикл, хотя в нём, вообще-то, и нет нужды, так как требуется вычислить сумму арифметической прогрессии, для которой есть простая формула. Но можно объединить в одной программе оба метода: вычисление циклом и по формуле. Только это совершенно необязательно.
Целый тип достаточно взять четырёхбайтным (int (или unsigned int) если он четырёхбайтный, а ещё лучше long (или unsigned long), в четырёхбайтности которого нет сомнения):
 #include  
#include

using namespace std;

int main()
{
unsigned long a, b, i, n, s = 0;
cout > n;
b = pow(10, n); a = b / 10;
for (i = a; i < b; i++) s += i;
cout
Владимир Кожухин
Владимир Кожухин
66 572
Лучший ответ
Сумму от 0 до 9, или от 10 до 99, или от 100 до 999, или от 1000 до 9999 - в зависимости от значения n.

Что такое однозначные, двузначные, трёхзначные и т.д. числа, объясняют в начальной школе на уроках арифметики.
Скорее всего, найти сумму всех целых чисел от 1 до 9999.

#include "iostream"
int main(){std::cout<<9999L*10000/2<<'\n';}
Антон !!!!!!!
Антон !!!!!!!
59 692

Похожие вопросы