学习Unity3D第六天之脚本入门例题详解。

Unity编程挑战题解析
本文通过Unity编程语言解决了一系列数学问题,包括寻找特定数值、计算数字之和、模拟物理过程等,展示了如何运用循环和条件判断来解决问题。

欢迎来到unity学习unity培训unity企业培训教育专区,这里有很多U3D资源U3D培训视频U3D教程U3D常见问题U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。

1、100以内的一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

  1)100以内的一个整数,要用到循环操作:for(int i=1;i<=100;i++)

  2)它加上100后是一个完全平方数,再加上168又是一个完全平方数:x=(int)Mathf.Sqrt(i+100);y=(int)Mathf.Sqrt(i+268);

    为了验证得到的结果到底是不是完全平方数所以要满足条件:if(x*x==i+100 && y*y==i+268)

代码:int x, y;
      for(int i=1;i<100;i++){
      x=(int)Mathf.Sqrt(i+100);y=(int)Mathf.Sqrt(i+268);
      if(x*x==i+100 && y*y==i+268){print(i);}}

2、定义一个三位数,计算其各位数字之和。

  1)定义一个三位数,要判断是不是三位数:if (i<1000&&i>99)

  2)计算其各位数字:int x,y,z;     x=i/100;y=i/10%10;z=i%10;

  3)计算其各位数字之和:i=x+y+z;

代码:int i=324,x,y,z;
    if (i<1000&&i>99){
     x=i/100;y=i/10%10;z=i%10;i=x+y+z;print(i);}

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

  1)球是从100米高度自由落下,所以刚开始的落地时经过100米,高度是100米,则s=100,h=100。

  2)每次落地后反跳回原高度的一半,则是h/2。

  3)要知道第十次落地经过多少米,反弹多高,就要循环9次。

  4)第十次落地经过s+h米。

  5)反弹多高则是h/2。

代码:float s = 100,h = 100;
         for(int i=1;i<10;i++){
         s=s+h;h=h/2;}
         print (s + "    " + h / 2);

4、子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

  1)第十天剩下一个桃子,求第一天摘了多少桃子,需要反推,循环9次:for(int i=1;i<=9;i++)

  2)        1          4          10          22

               1    (1+1)*2  (4+1)*2  (10+2)*2

    通式:(i+1)*2

  3)求第一天摘了多少

    i=(i+1)*2

代码:int i = 1;
          for (int j=1; j<10; j++) {
          i=(i+1)*2;i=i;}
          print (i);

5、输入一个整数,判断它是否为质数(从2到A的平方根的范围内,没有一个数能整除A,则A是质数)。

  1)从2到A的平方根的范围内,要用到循环操作:for(int i=2;i<=Mathf.Sqrt(a);i++)

  2)没有一个数能整除A(所以有一个数能整除A的话,A就不是质数),则A是质数:if(a%i!=0)

代码:int a = 97;
         bool b=false;
         for (int i=2; i<=Mathf.Sqrt (a); i++) {
         if(a%i!=0){b=true;}else{b=false;break;}}
         if(b==true){print (a+"是质数");}

6、(for循环)求100以内所有能被3整除但不能被5整除的数字的和。

  1)100以内,所以要用到循环操作:for(int i=1;i<=100;i++)

  2)能被3整除但不能被5整除的数字:i % 3 == 0 && i % 5 != 0

  3)求出符合条件所有数字的和:sum = sum + i;

代码:int i, sum = 0;
          for (i=1; i<=100; i++){if (i % 3 == 0 && i % 5 != 0)sum = sum + i;}
          print(sum);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值