我是C++的新手。我上了Python课,但宁愿继续使用更有用的语言学习。但是我正在C++中重做该类中的一些作业,以帮助我继续前进。

这个特殊的问题是编写代码,以输入光速(速度/ c)的一小部分来解决洛伦兹因数,该光速应在0到1之间。我敢肯定,我很简单做错了我可能不熟悉Python。但是,我们将不胜感激。我不断得到答案“难”。它与我的类型声明有关吗?据我了解,由于我正在使用小数,因此我应该使用浮点数对吗?

这是洛伦兹方程式(但请记住,我的代码接受v / c作为一个数字):

c++ - C++:洛伦兹因子方程-LMLPHP

#include <iostream>
#include <math.h>


using namespace std;

float lorentz_factor (float v) {
    float answer = 1 / sqrt(1 - exp(v));
    return answer;
}

int main() {

    float v;

    cout<<"Please enter a number between 0 and 1";
    cin>> v;
    while (!((v < 1) && (v > 0))) { // "v" should be entered as a fraction of     the speed of light.
        cout<<"Try again: ";
        cin>>v;                     // and only accepted if it is between 0 and 1
}
    float factor = v;
    cin.ignore();
    cout<<"The lorentz_factor is: "<< lorentz_factor (factor) << "\n";
    cin.get();
}

帮助我。

最佳答案

你有:

1 / sqrt(1 - exp(v))

但洛伦兹因素是:
1 / sqrt(1 - v*v)

09-06 06:30