设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: 怪蜀黍
打印 上一主题 下一主题

[版务] 【公告】关于《P叔的RM考场第十弹》的成绩公布

[复制链接]

Lv2.观梦者

梦石
0
星屑
505
在线时间
340 小时
注册时间
2008-8-13
帖子
526
11
发表于 2013-8-2 19:55:22 | 只看该作者
喔。。居然有大神AK,膜拜{:2_258:}
话说回来真的忘记了特判位数为0的情况。。。

点评

是的呀,细节也需要考虑到。  发表于 2013-8-2 20:08
- - 你无视我就行了
Temperament can not be proud to imitate supreme.
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
483
在线时间
750 小时
注册时间
2012-11-10
帖子
924
12
发表于 2013-8-2 20:03:43 | 只看该作者
本帖最后由 结城照美 于 2013-8-2 20:12 编辑

@protosssonny
  1. num = $game_variables[2]+$game_variables[3]
  2. i = 14
  3. while i>= 12
  4.   $game_map.events[i].set_graphic("numbers",(num%10)%3)
  5.   $game_map.events[i].set_direction((num%10)/3*2+2)
  6.   num /= 10
  7.   i -= 1
  8. end
复制代码
P叔能讲解一下这个脚本是怎么提取出各位数的吗..看不懂 .谢谢啦

呃我都忘记了出题人不是P叔啊
这个题目是,玩家输入两个两位数,在黑板显示两个数相加的结果,黑板的数字是用事件的行走图来表示的

点评

我将数字图形特别设置为了那样的排版,就是为了能够通过设置朝向方便地修改显示的数字。  发表于 2013-8-2 22:00
这是从哪里抽出来的脚本啊?设置事件的图形和朝向?  发表于 2013-8-2 20:08
有本事就来阻止我啊,主体单元『天照』!
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

万兽

梦石
0
星屑
597
在线时间
2271 小时
注册时间
2006-11-4
帖子
4868

贵宾

13
发表于 2013-8-2 21:03:19 | 只看该作者
俺居然漏了一题……
另外,是不是也应该有XP和VA的考场?

点评

熊叔已经是XP版主了,所以XP考场就熊叔来负责吧喵!  发表于 2013-8-2 21:05
回复 支持 反对

使用道具 举报

Lv1.梦旅人

天才琪露诺

梦石
0
星屑
54
在线时间
276 小时
注册时间
2013-6-24
帖子
1741
14
发表于 2013-8-2 21:07:08 | 只看该作者
二...二百五?!??!!?果然稳拿200糖。

点评

的确蛮稳的,我眼熟你了。  发表于 2013-8-2 21:08

说人家是笨蛋的自己才是笨蛋,我最强了,最最最强!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
276 小时
注册时间
2011-6-5
帖子
133
15
发表于 2013-8-2 21:51:30 | 只看该作者
emm~
存档界面返回的bug的确是没想到。。。
看了下标答黑板显示,居然还可以这样。又涨姿势了。
我可是一堆条件分歧各种搞。
研表究明,汉字的序顺并不定一能影阅响读,比如当你看完这话句后,才发这现里的字全是都乱的
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
869 小时
注册时间
2009-3-13
帖子
782
16
发表于 2013-8-2 21:58:58 | 只看该作者
结城照美 发表于 2013-8-2 19:06
这都没有好人卡,你们为什么这么叼
P叔对我的黑板算术做法没有感想吗 ...

思路是正确的,但是事件略麻烦。
我的寒假活动作品:http://rpg.blue/forum.php?mod=viewthread&tid=281065
咱的龙蛋,求点击:
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
483
在线时间
750 小时
注册时间
2012-11-10
帖子
924
17
发表于 2013-8-2 21:59:44 | 只看该作者
认真的学 发表于 2013-8-2 21:58
思路是正确的,但是事件略麻烦。

{:2_272:}不会脚本,几乎完全不会
有本事就来阻止我啊,主体单元『天照』!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
84 小时
注册时间
2008-3-31
帖子
88
18
发表于 2013-8-2 22:20:18 | 只看该作者
本帖最后由 490832999 于 2013-8-2 23:07 编辑

@protosssonny
@认真的学
这样应该可以了...100万个rand(1073740000)相加...我的机器用时...1分24秒
不知道有什么更好的方法可以减少运算次数...
    arr = [] # 所有加数
    place = [] # 存放每个数的每一位数,如place[0]存放所有个位数,place[1]存放所有十位数
    str = "" # 用于显示式子
   
    m = 1000000
    max_num = 1073740000
   
    for num_index in 0...m
      arr.push(rand(max_num))
      n = arr[num_index].to_s.size # 此为n位数
      # 最后显示的式子
      if str.size < 1000
        str += "#{arr[num_index]} #{num_index == m - 1 ? "=" : "+"} "
      else
        str += "... = " if num_index == m - 1
      end
      for j in 0...n
        # 将每一位数放入对应place
        # 即个位放进place[0],十位place[1],以此类推
        place.push([]) until place.size >= n
        place[n-1-j].push(arr[num_index].to_s[j,1])
      end
    end
   
    place_index = 0
    # 从place[0](个位数)开始相加
    # 直到加完最后一个place(最高位数)
    until place_index == place.size
      tmp_num = 0
      for pos in 0...place[place_index].size
        # 每个place对就每一位(类似竖式中同一列)
        # 123 + 5789 +624 +34 + 6 与成竖式
        #
        # place.......[3][2][1][0]
        #................[0][1][2][3
        #................[5][7][8][9
        #................[0][6][2][4
        #................[0][0][3][4
        #+.1.?        [0][0][0][6
        #----------------------------
        # 将每个place的数相加(即最多m个1位数相加),得到tmp_num
        tmp_num += place[place_index][pos].to_i
      end
      
      n = tmp_num.to_s.size     # tmp_num 是 n 位数
      # tmp_num 的最后一位(个位数)就是结果中的 第i位
      # 直接将此值赋入place[place_index]
      place[place_index] = tmp_num % 10
      for tmp_num_pos in 0...n - 1
        # 个位以上的全部进位(同竖式算法)
        place.push([]) until place.size >= n + place_index
        place[place_index+n-1-tmp_num_pos].push(tmp_num.to_s[tmp_num_pos,1])
      end
      place_index += 1
    end
   
    ans = "" # 用于显示得数
    for i in 0...place.size
      if place[place.size-1-i].class != "Array"
        ans += place[place.size-1-i].to_s
      end
    end
   
    print str,ans

点评

是的,其实可以n位压成1位,可以加快运算速度。(一般4位或8位压1位)  发表于 2013-8-3 09:31
因为假若有几百亿个数....就有几百亿的个位,存放起来再相加...得出的和也太大了...  发表于 2013-8-3 02:28
其实...存放是多余了(刚开始思路按竖式走,所以存放起来)...直接加上去得出结果并判断进位....  发表于 2013-8-3 02:27

评分

参与人数 1星屑 +5 收起 理由
救世小树 + 5 卧槽100万次~我也试试

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
84 小时
注册时间
2008-3-31
帖子
88
19
发表于 2013-8-2 22:51:26 | 只看该作者
490832999 发表于 2013-8-2 22:20
P叔...这样应该可以了...100万个rand(1073740000)相加...我的机器用时...1分24秒
不知道有什么更好的方法可 ...

刚修改了一下...因为中括号里面i就变成斜体了....
回复 支持 反对

使用道具 举报

Lv1.梦旅人

秋寒

梦石
0
星屑
63
在线时间
801 小时
注册时间
2013-1-17
帖子
1992
20
发表于 2013-8-3 07:32:53 | 只看该作者
我就说我怎么可能及格。。。还得努力啊。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-17 11:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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