Я пытаюсь разработать программу на C++, чтобы умножить число (скажем, 2.45784e-05) на себя 28224 раза. После умножения я должен выполнить другую задачу на выходе. Для того, чтобы умножить число с самими собой, я пишу программу на C++ следующим образом:Как умножить очень небольшое число с собой более 100 раз в C++?
#include<iostream>
using namespace std;
int main() {
long double x = 2.45784e-05, y = 1;
cout << "Before multiplication, x= " << x << endl;
for (int i = 0; i < 28224; i++) {
y = y * x;
cout <<i+1<<". "<< "y=" << y << endl;
}
return 0;
}
Но программа дает точный выход до 1075 раз. После этого он дает 0 в качестве вывода. Получены следующие результаты:
Before multiplication, x= 2.45784e-05
1. y=2.45784e-05
2. y=6.04098e-10
3. y=1.48478e-14
4. y=3.64934e-19
.
.
.
1073. y=1.15885e-4946
1074. y=3.6452e-4951
1075. y=0
1076. y=0
.
.
.
28223. y=0
Мои друзья посоветовали мне умножать константу с x каждый раз после умножения на себя. Но я не понимаю, как умножать константу с ней. Пожалуйста, дайте мне решение, чтобы получить результат.
Вам нужно написать класс, который обрабатывает произвольно точные числа –
И подсказка: есть функция * предварительного просмотра *. Вы хотите, чтобы мы тратили свое время, чтобы помочь вам, поэтому потратите 30 дополнительных секунд, чтобы правильно форматировать/отступать весь исходный код! – GhostCat
И тогда ваша фактическая проблема заключается в том, что типы, такие как int, long, double ...есть ** диапазон ** в этот день работа. Вы хотите потратить некоторое время на изучение математики за первым; чтобы прояснить вашу идею для себя ... – GhostCat