鱼C论坛

 找回密码
 立即注册
查看: 4057|回复: 30

[每日一练] 题目17 ◉‿◉ 仿自由落体实验

[复制链接]
发表于 2017-5-22 06:11:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2017-5-22 07:19 编辑


                               
登录/注册后可看大图


按照提示,完成代码,秀秀你的编程能力!

不许看答案,否则打屁屁





程序分析:
一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10 次落地时,共经过多少米?第 10 次反弹多高?       


源代码:
游客,如果您要查看本帖隐藏内容请回复






如果喜欢,请订阅
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-5-22 19:58:30 | 显示全部楼层
  1. a = [100]  #每个‘反弹落地’过程经过的路程,第1次只有落地(100米)
  2. h = 100  #每个‘反弹落地’过程,反弹的高度,第1次为100米
  3. print('第1次从%s米高落地,走过%s米,之后又反弹至%s米。' % (h, a[0], h/2))
  4. for i in range(2,11):  #第1次已初始化,再循环9次
  5.     a.append(h)  #先计算路程,再高度减半,因为一个‘反弹落地’为2个高度
  6.     h = h / 2
  7.     print('第%s次从%s米高落地,共走过%s米,之后又反弹至%s米。' % (i, h, sum(a), h / 2))
复制代码

点评

我很赞同!: 5.0
我很赞同!: 5
  发表于 2017-5-22 21:23
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-22 15:48:58 | 显示全部楼层
是这样么

  1. def func(num):
  2.   n = 100
  3.   h = 100
  4.   while num:
  5.     n *= 0.5
  6.     h += n
  7.     num -= 1
  8.   print(h,n)
  9.   
  10. func(10)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-28 19:41:30 | 显示全部楼层
辛苦了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-6 12:06:30 | 显示全部楼层
  1. window.onload = function () {

  2.                         let distance = 0;
  3.                         let height = 100;
  4.                         let result = {};

  5.                         function calcu (num, height) {

  6.                                 let distance = 0;
  7.                                 let result = {};

  8.                                 for (let i = 0; i < num; i++) {
  9.                                         distance += height * 2;
  10.                                         height /= 2;
  11.                                 }

  12.                                 result.distance = distance;
  13.                                 result.height = height;

  14.                                 return result;

  15.                         }

  16.                         result = calcu(10, 100);
  17.                         result.distance -= height;

  18.                         console.log('球在第10次落地式,共经过' + result.distance + '米');
  19.                         console.log('第10次反弹' + result.height + '米');

  20.                 };
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-11 23:41:01 | 显示全部楼层
谢谢分享 反正我不会
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-26 16:50:50 | 显示全部楼层
k
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-1 14:56:12 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-18 10:04:17 | 显示全部楼层
滴滴滴
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-29 15:36:52 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-2 20:22:08 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-3 17:48:57 | 显示全部楼层
kankan

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-19 12:43:44 | 显示全部楼层
仿自由落体实验
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-24 15:13:03 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-24 11:48:15 | 显示全部楼层
emm
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-24 21:52:20 | 显示全部楼层
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.         <title>17</title>
  5.         <meta charset="utf-8">
  6.         <script type="text/javascript">       
  7.                 window.onload=function(){
  8.                         var isp=document.getElementById("isp");
  9.                         var canvas=document.getElementById("goon");
  10.                         var mycanvas=canvas.getContext("2d");
  11.                         // 创建球对象
  12.                         mycanvas.fillStyle="black";//填充颜色
  13.                         mycanvas.strokeStyle="red";//描边颜色
  14.                         var ball=function(x,y,r){
  15.                                 this.x=x;
  16.                                 this.y=y;
  17.                                 this.r=r;
  18.                                 this.draw=function(){//画求方法
  19.                                         mycanvas.beginPath();
  20.                                         mycanvas.arc(this.x,this.y,this.r,0,2*Math.PI,false);
  21.                                         mycanvas.stroke();//描边
  22.                                 };
  23.                         };               
  24.                         var y=10;
  25.                         var jul=100;
  26.                         var ball=new ball(40,y,10);
  27.                         mycanvas.fill();
  28.                         var n=100;       
  29.                         var change=true;//下落或弹起
  30.                         var start=setInterval(function(){yid(100),50})
  31.                         //下落运动主函数
  32.                         function yid(h){//n=下落高度,h=下路高度减去球大小
  33.                                 if(n==0){//下落高度为0是停止
  34.                                         clearInterval(start);
  35.                                         isp.innerHTML="铁球总共运动:"+jul;
  36.                                 }       
  37.                                 if(change){
  38.                                         if(ball.y<h){
  39.                                                 y++;}
  40.                                         if(ball.y==h){
  41.                                                 if(change){                                       
  42.                                                         n=Math.floor(n/2)
  43.                                                         jul+=n;
  44.                                                         change=false;}
  45.                                         }       
  46.                                 }
  47.                                 else{
  48.                                         if(ball.y>h-n){
  49.                                                 y--;}
  50.                                         if(ball.y==h-n){
  51.                                                 jul+=n;
  52.                                                 change=true;
  53.                                         }       
  54.                                 }                                       
  55.                                 mycanvas.clearRect(29,0,30,h+10);
  56.                                 ball.y=y;
  57.                                 ball.draw();
  58.                                 mycanvas.fill();       
  59.                         }                               
  60.                 }

  61.         </script>
  62. </head>
  63. <body>
  64.         <canvas id="goon" width="" height="110"></canvas>
  65.         <p id="isp"></p>       
  66. </body>
  67. </html>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-10-10 14:35:09 | 显示全部楼层
  1. var fall = function(){
  2.         var height = 100;
  3.         var heights = 0;
  4.         for(var i=0;i<10;i++){
  5.                 height/=2;
  6.                 heights+=height;
  7.         }
  8.         console.log(height,heights);
  9. }
  10. fall();
复制代码


这个值有点小六
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-11 21:26:51 | 显示全部楼层
本帖最后由 爱喝百岁山 于 2018-10-11 21:30 编辑

private void calHeight()
{
    int startH = 100;
    int dis = 0;
    for (int i = 0;i < 10;++i)
    {
        dis += startH;
        startH = startH / 2;
        if (9 == i)
        {
                dis = dis - startH;
        }
    }
    cout << startH << endl << dis <<endl;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-17 15:32:20 From FishC Mobile | 显示全部楼层
看看,学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-24 16:52:30 | 显示全部楼层
好像有问题
<!DOCTYPE html>
<html>

        <head>
                <meta charset="UTF-8">
                <title></title>
        </head>

        <body>
        </body>
        <script>
                var h = 100;
                var allH = 100;
                for(var i = 2; i < 10; i++) {
                        allH += h;
                        h = h / 2;
                }
                document.write(h + ',' + allH+'<br/>');
        </script>
</html>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 17:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表