#include <iostream>
int main() {
const int stages = 100; // Количество этапов
double distanceFromHome = 0.0; // Расстояние от дома
double totalDistance = 0.0; // Общий пройденный путь
double stepSize; // Размер текущего шага
// Начальная длина пути в 1 км
int direction = 1; // 1 - от дома, -1 - к дому
for (int stage = 1; stage <= stages; ++stage) {
stepSize = 1.0 / stage; // Длина шага на текущем этапе
distanceFromHome += direction * stepSize;
totalDistance += stepSize;
direction *= -1; // Меняем направление движения
}
std::cout << "Расстояние от дома после 100-го этапа: " << distanceFromHome << " км" << std::endl;
std::cout << "Общий пройденный путь: " << totalDistance << " км" << std::endl;
return 0;
}
#include <iostream>
int main() {
int distance = 0;
int totalDistance = 0;
for (int i = 1; i <= 100; ++i) {
distance += 1 / i;
totalDistance += distance;
}
std::cout << "После 100 этапов мужчина будет находиться на расстоянии " << distance << " км от дома." << std::endl;
std::cout << "Общий пройденный путь составит " << totalDistance << " км." << std::endl;
return 0;
}
double s1 = 0.0, s2 = 0.0;
for (int n = 100; n > 0; --n) {
s1 = 1.0 / n - s1; // расстояние от дома
s2 += 1.0 / n; // общая дистанция
}
cout << s1 << ' ' << s2;
#include <iostream>
int main() {
double position = 0.0;
double totalDistance = 0.0;
int direction = 1;
for (int stage = 1; stage <= 100; ++stage) {
double stepDistance = 1.0 / stage;
position += direction * stepDistance;
totalDistance += stepDistance;
direction = -direction;
}
std::cout << "а) Мужчина находится на расстоянии " << std::abs(position)
<< " км от дома после 100-го этапа." << std::endl;
std::cout << "б) Общий пройденный путь: " << totalDistance << " км." << std::endl;
return 0;
}
полпути, он меняет решение, посчитав, что правильнее вернуться на работу.
Пройдя
13
км по направлению к работе, он вдруг осознает, что будет настоящим подлецом, если так и не поцелует жену. На этот раз, прежде чем изменить мнение, он проходит
14
км. Так он продолжает метаться, и после Nэтапа, пройдя 1/N км, снова меняет решение.
Определить:
а) на каком расстоянии от дома будет находиться мужчина после 100-го этапа
(если допустить, что такое возможно);
б) какой общий путь он при этом пройдет
НА С++ только с помощью циклов