스텝 크기로 0.1을 입력 할 때 내 코드가 출력으로 x 값에 대해서만 최대 2.4까지 올라간 이유는 무엇입니까? .01 또는 .001과 같은 값을 입력하면 최대 2.5가됩니다.C++ 오일러 근사값
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double step;
double x0 = 1.0;
double y0 = 1.0;
double diffY;
std::cout << std::fixed;
std::cout << std::setprecision(2);
cout << "Enter step value: ";
cin >> step;
while (x0 <= 2.5) {
diffY = x0 + ((3*y0)/x0);
cout << x0 << " " << y0 << "\n";
x0+=step;
y0+=step*(diffY);
}
return 0; //initially defined the main function to return an int
}
고마워요!
정수 기반 제한을 사용하여 루프를 실행하고 루프 내에서 값의 배율을 조정해야합니다. 그렇지 않으면 루프가 컴파일러, 컴파일러 옵션 등에 따라 다른 횟수로 실행될 수 있습니다. – PaulMcKenzie