碰撞圆周率_我让你背一遍圆周率

碰撞圆周率_我让你背一遍圆周率#include”stdafx.h”#include<iostream>//碰撞后速度voidtxpz(doublem1,doublem2,double&v1,double&v2){ doublev1_=((m1-m2)*v1+2*m2*v2)/(m1+m2); doublev2_=((m2…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺


#include "stdafx.h"
#include <iostream>

// 碰撞后速度
void txpz(double m1, double m2, double & v1,  double & v2)
{
	double v1_ = ((m1-m2)* v1 + 2 * m2 * v2) / (m1 + m2);
	double v2_ = ((m2-m1) * v2 + 2 * m1 * v1) / (m1 +m2);

	v1 = v1_;
	v2 = v2_;
}

// 完全弹性碰撞( 返回碰撞次数 )
int cishu(double m1, double m2) 
{
	double v1 = -1.0;
	double v2 = 0;
	int nTime = 0;
	while (true) {
		if ((v1 >= 0) && (v2 < v1)) 
		{
			break;
		}

		txpz(m1, m2, v1, v2);
		nTime ++;

		if (v2 < 0)
		{
			v2 = -v2;
			nTime ++;
		}
	}
	using namespace std;
	cout<<m1<< "\t"<<m2<< "\t"<< nTime<<endl;
	return nTime;
}

int main()
{
	for (int i = 1; i < 8; i ++)
	{
		cishu(pow(100,i) * 1.0, 1.0);
	}
	
    return 0;
}

看一下一个有趣的代码

// 下面再放一份LUA版本

function txpz(t)
    local m1 = t.m1
    local m2 = t.m2
    local v1 = t.v1
    local v2 = t.v2

	t.v1 = ((m1-m2) * v1 + 2 * m2 * v2) / (m1 + m2);
	t.v2 = ((m2-m1) * v2 + 2 * m1 * v1) / (m1 + m2);
end

function cishu(t)
	t.v1 = -1.0;
	t.v2 = 0;
	local nTime = 0;
	while true do
		if t.v1 >= 0 and t.v2 < t.v1 then
			break;
        end

		txpz(t);
		nTime = nTime + 1;

		if t.v2 < 0 then
			t.v2 = -t.v2;
            nTime = nTime + 1;
        end
	end
	return nTime;
end

print(cishu{m1 = 1.0, m2 = 1.0})
print(cishu{m1 = 100.0, m2 = 1.0})
print(cishu{m1 = 10000.0, m2 = 1.0})
print(cishu{m1 = 1000000.0, m2 = 1.0})
print(cishu{m1 = 100000000.0, m2 = 1.0})
print(cishu{m1 = 100000000.0, m2 = 0.01})
print(cishu{m1 = 100000000.0, m2 = 0.0001})
print(cishu{m1 = 100000000.0, m2 = 0.000001})

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197730.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 返回跳转指定页面的JS代码_java页面跳转的代码

    返回跳转指定页面的JS代码_java页面跳转的代码JS跳转页面参考代码第一种:window.location.href=”login.jsp?backurl=”+window.location.href;第二种:alert(“返回”);window.history.back(-1);第

    2022年8月13日
    2
  • 2021年电厂锅炉考试题及答案_电厂锅炉考试题及答案

    2021年电厂锅炉考试题及答案_电厂锅炉考试题及答案题库来源:安全生产模拟考试一点通公众号小程序2022G2电站锅炉司炉考试试题系G2电站锅炉司炉考试题模拟预测卷!2022G2电站锅炉司炉操作证考试题库及在线模拟考试根据G2电站锅炉司炉新考试大纲。G2电站锅炉司炉复审模拟考试通过安全生产模拟考试一点通上章节练习。1、【多选题】固体未完全燃烧热损失与下列哪些因素有关()。(ABCD)A、燃煤品质B、燃烧方式C、燃料与空气混合的程度D、炉膛温度2、【多选题】循环流床锅炉影响物料回送量的因素较多,主要有()。(BCD…

    2022年9月4日
    3
  • OpenHarmonyOS for Hi3516dv300[通俗易懂]

    OpenHarmonyOS for Hi3516dv300[通俗易懂]OpenHarmonyOSforHi3516dv300一、安装dockermkdiropenHarmonycdopenHarmonysudosnapinstalldocker#获取docker镜像sudodockerpullswr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.1#运行镜像sudodockerrun-it-v$(pwd):/h

    2022年9月16日
    0
  • Unity 3D 游戏引擎

    Unity 3D 游戏引擎简介Unity3D也称Unity,是由UnityTechnologies公司开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具。Unity3D可以运行在Windows和MacOSX下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、WindowsPhone8和Android平台。也可以利用UnityWebPlayer插件发布网页游戏,支持Mac和Windo…

    2022年5月9日
    42
  • Navicat 15 永久激活码【2022.01最新】

    (Navicat 15 永久激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html40ZKSWCX8G-eyJsaWNlbnNlSW…

    2022年4月2日
    2.1K
  • Mysql 导出数据到Excel

    Mysql 导出数据到Excel

    2021年8月7日
    66

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号