小球弹跳递归

将一个小球从100米抛下,假设它每次弹起之前一半的高度,求小球弹跳总高度和弹跳高度

	/**
	 * @author Administrator jie
	 * @param count 弹跳次数
	 * @return 返回第count次弹起的高度
	 */
	public static double high(int count){
		if(count==1){return 50;}
		return high(count-1)/2;
	}
	/**
	 *
	 * @param count 弹跳次数
	 * @return 第count次弹跳结束时经过的路程
	 */
	public static double totalHigh(int count){
		if(count==1){return 100+high(count)*2;}//第一次弹跳结束时经过的路程
		return totalHigh(count-1)+high(count-1);
	}
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入弹跳次数:");
		int count = sc.nextInt();
		System.out.println("第"+count+"次弹跳高度为:"+high(count)+"米");
		System.out.println("第"+count+"次弹完总路程为:"+totalHigh(count)+"米");

	}
时间: 2024-11-10 11:05:50

小球弹跳递归的相关文章

小球弹跳

知乎上看到一个小球弹跳的代码,觉得挺有意思的,就打出来自己看看 https://zhuanlan.zhihu.com/p/24633092 #include<stdio.h>//上下跳动#include<stdlib.h>int main(){    int i,j;    int x=5,y=10;//小球坐标    int h=20;//高度    int v=1;//速度    while(1)    {        x=x+v;//坐标=坐标+速度        syst

笔记-2.带尾巴小球弹跳

先说尾巴跟随: 尾巴跟随是典型的运动跟随,随着根部的运动,尾巴的每部分自然而柔软地跟随运动,中间帧不能出现直挺挺的尾巴这种不自然的状态,也不能出现僵硬的运动. 具体实现: 可以通过一个个中间帧调节尾巴不同部分来达到自然柔软的效果,但对于尾巴跟随运动最简单的是拖帧法,即从根部到尾部按顺序少选一个控制器,将关键帧依次向后拖动几帧(就是让尾巴从根部向尾部的运动变化依次向后慢几帧出现). 运动曲线是这样的: 可以拖动曲线让根部摆动幅度小些: 同理可以再做出尾巴其他方向的摆动 --------------

HTML5 Canvas 图像动画的实现(实例小球弹跳)

Canvas 中 clearRect 清除函数 var c=document.getElementById("php100"); var p100=c.getContext("2d"); p100.clearRect(x,y,x,y) // 擦除画布一个区域x-y.x-y ------ 代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <

1实现弹跳小球

#include<stdio.h> #include<stdlib.h> #include<windows.h> void main(){ int i, j; int x = 0; int y = 5; int velocity_x = 1; int velocity_y = 1; int left = 0; int right = 20; int top = 0; int bottom = 10; while(1){ x += velocity_x; y += vel

原生js的弹力小球

有段日子没发博客了,今天来一弹. 这次发的东西,难度比较大,用原生js,写的一个弹力小球,而且是群发,下面是一张截图. 每一次点击"添加小球",都会触发程序,新创造一个div盒子.定义css样式,然后塞进大盒子中. 接着,给这个div小球创造一个定时器,让他开始移动,并且在碰到墙壁时,会停止匀速运行的定时器,执行另一个函数,开启变速移动的定时器,同时对div小球开启进行变形定时器,实现碰到墙壁后的减速.变形.改变方向.再加速和恢复体形. 讲述原理比较简单,而真正做起来,就麻烦了. 程序

贝塞尔曲线与CSS3动画、SVG和canvas的应用

简介 贝塞尔曲线是可以做出很多复杂的效果来的,比如弹跳球的复杂动画效果,首先加速下降,停止,然后弹起时逐渐减速的效果. 使用贝塞尔曲线常用的两个网址如下: 缓动函数:http://www.xuanfengge.com/easeing/easeing/ cubic-bezier:http://cubic-bezier.com/ 如何用贝塞尔曲线画曲线 一个标准的3次贝塞尔曲线需要4个点:起始点.终止点(也称锚点)以及两个相互分离的中间点. 无论SVG, Canvas还是CSS3动画,都牵扯到这4个

9款让你眼前一亮的HTML5/CSS3示例及源码

1.HTML5 3D点阵列波浪翻滚动画 今天我们要再分享一款基于HTML5 3D的点阵列波浪翻滚动画特效,同样是非常的壮观. 在线演示 源码下载 2.HTML5小球弹跳动画 很不错的3D小球 今天我要向大家分享一款很逼真的HTML5动画特效,它是3个色彩各异的弹跳小球,每一个小球在弹跳的时候都会有变化的小球投影,让整个动画更加逼真,而且具有3D的视觉效果. 在线演示 源码下载 3.纯CSS3纸片层叠而成的庙宇动画 今天要分享的这款纯CSS3动画非常特别,动画主体的原型是一座庙宇的屋顶,它用3张纸

OGEngine_修改器

前言 Modifier的作用是以编程的方式来修改Entity对象的关键属性.开发者可以用它来修改Entity的位置.缩放.颜色.角度.透明值等.介绍各种可用的Modifier类型,并讲述如何将Modifier对象组合成序列来使用. 修改的效果将会在Entity 的 registerEntityModifier之后执行,若被添加Modifier的Entity还没被添加至场景或者图层(没执行attachChild方法),那么效果直到Entity被添加到场景才会执行. 典型用例 entity.regi

HTML5之2D物理引擎 Box2D for javascript Games 系列 第二部分

这是系列第二部分,之前部分在本博客中找 源码demo存放在https://github.com/willian12345/Box2D-for-Javascript-Games 向世界添加刚体 刚体(Bodies)是我们用Box2D创建物理游戏的重要对象.任何你可以移动的或交互 的对象都是刚体(Bodies). 愤怒的小鸟(Angry Birds)中创建的小鸟和小猪是刚 体,同样在图腾破坏者(Totem Destroyer)中的黄金神像和图腾砖块也是刚体. 本章将带你学习创建各种类型的Box2D刚