Другие языки программирования и технологии

Помогите решить на С++ через for

определить суммарный объем в литрах двенадцати вложенных друг в друга шаров со стенками толщиной 5 мм. Внутренний диаметр внутренней шара равен 10 см. Принять, что шары вкладываются друг в друга без зазоров
Ну это эквивалентно объему шара с внутренним диаметром 10 и внешним 16. Зачем тут циклы - лично я ума не приложу, но если очень надо - дерзай. Покажи, что сделала, что не получилось - поможем...
Андрей Кондратьев
Андрей Кондратьев
65 782
Лучший ответ
1 литр - куб со стороной 1 дм. 10 см = 1 дм, 5 мм = 0.05 дм.
V шара = pi * D ** 3 / 6

double sum = 0.0;
for(int i = 1; i <= 12; ++i) { sum += pow(1.0 + i * 0.05, 3); }
cout << sum * M_PI / 6.0;
Не получится вложить 12 шаров со стенками 0.5. если изначальный шар с внутренним диаметром = 10 см и каждый вложенный шар будет иметь диаметр на 1 см меньше, то уже на 11 итерации пространства для вложения не останется.
Андрей Кондратьев 10 см - это самый мелкий шар, остальные больше.
double V = 0;
double PI = 3.141592;
double dR = 0.005; //5 мм толщина стенки
double Rn = 0.1; // (м) - радиус внутреннего шара
int NumberOfBall = 1;
while ( NumberOfBall++ <= 12) {
double Vn = (4.0 / 3.0) * PI * Rn * Rn * Rn;
V += Vn;
Rn += dR;
}

Или

double V = 0;
double PI = 3.141592;
double dR = 0.005; //5 мм толщина стенки
double Rn = 0.1; // (м) - радиус внутреннего шара
for(int NumberOfBall = 1; i <= 12; NumberOfBall++){
double Vn = (4.0 / 3.0) * PI * Rn * Rn * Rn;
V += Vn;
Rn += dR;
}

Примерно так. В программе не проверял. Проверишь сама.