当前位置:  开发笔记 > 编程语言 > 正文

C++:洛伦兹因子方程

如何解决《C++:洛伦兹因子方程》经验,为你挑选了1个好方法。

我是C++的新手.我参加了Python课程,但宁愿继续学习更有用的语言.但我正在用C++重做那个课程中的几个作业,以帮助我顺利完成.

这个特殊的问题是编写能解决Lorentz因子的代码,输入光速的一小部分(速度/ c)应该在0和1之间.我确信我有一个非常简单的事情.做错了; 来自Python的我可能不熟悉的东西.但帮助将不胜感激.我一直得到答案"南".它与我的类型声明有关吗?从我的理解,因为我正在使用小数,我应该使用浮动吗?

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

http://spiff.rit.edu/classes/phys200/lectures/ke_rel/eqn_gamma.gif

#include 
#include 


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> John Zwinck..:

你有:

1 / sqrt(1 - exp(v))

但洛伦兹因子是:

1 / sqrt(1 - v*v)

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有