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

Project1

 找回密码
 注册会员
搜索
楼主: 沙漠点灰
打印 上一主题 下一主题

[讨论] 几个有意思的问题_第二弹

[复制链接]

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
41
发表于 2011-4-13 06:22:11 | 只看该作者
evolniar 发表于 2011-4-13 06:14
while ((n==9)||(n==15)||(n==25)||(n==21)||(n==27))
你不认为这种方法太机械了么。
改成 if (((i!=3)&& ...

为什么要这么做?学生是根据筛选表判断的:

  1. # 如果 i 是质数
  2. if (primes[i])
  3.     // 筛选 i 的倍数
  4.     ...
复制代码
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
100
在线时间
169 小时
注册时间
2007-8-12
帖子
203
42
发表于 2011-4-15 01:10:55 | 只看该作者
本帖最后由 心雪 于 2011-4-15 01:32 编辑

1、
  1. $gks = Win32API.new("user32","GetKeyState","l","i")
  2. $a = $gks.call(123)
  3. class << Graphics
  4.   alias _heart_snow_update update
  5.   def update
  6.     if ($gks.call(123) != $a)
  7.       exit
  8.     end
  9.     _heart_snow_update
  10.   end
  11. end
复制代码
2、

  1. class Array
  2.   def max
  3.     max = self[0]
  4.     for i in self
  5.       if max < i
  6.         max = i
  7.       end
  8.     end
  9.     return i
  10.   end
  11. end

  12. p [1,3,5,6,7].max
复制代码
3、好吧我承认我没研究出来

4、

  1. class SpriteEX < Sprite
  2.   def initialize
  3.     super
  4.     @sx = 0
  5.     @sy = 0
  6.   end
  7.   def x
  8.     return @sx
  9.   end
  10.   def y
  11.     return @sy
  12.   end
  13.   def x=(x)
  14.     @sx = x
  15.     super(@sx)
  16.   end
  17.   def y=(y)
  18.     @sy = y
  19.     super(@sy)
  20.   end
  21. end
  22. $abc = SpriteEX.new
  23. $abc.bitmap = RPG::Cache.icon("001-Weapon01")
  24. for i in 1..10
  25.   $abc.x = 0.5 + $abc.x
  26.   Graphics.update
  27. end
复制代码
5、
nil.__send__("66")

6、理论神马的最讨厌了,明明p出来都是"method"
--------------------------
好吧我竟然忘了defined?也可以判断常量- -

7、

  1. array_bitmaps = [RPG::Cache.icon("001-Weapon01"),RPG::Cache.icon("002-Weapon02"),RPG::Cache.icon("003-Weapon03")]
  2. max = 0
  3. maxi = 0
  4. for i in 0...array_bitmaps.size
  5.   bitmap = array_bitmaps[i]
  6.   if bitmap.height * bitmap.width > max
  7.     max = bitmap.height * bitmap.width
  8.     maxi = i
  9.   end
  10. end
  11. array_bitmaps[maxi].dispose
  12. array_bitmaps[maxi] = nil
  13. GC.start
复制代码
8、没时间了……DFS+剔除23在一起的情况

9、(请勿在RM中测试)

  1. require "mathn.rb"
  2. pr = Prime.new
  3. pr.each{|v| break if v > 1000;p v ;}
复制代码
至于说算法……
  1. #include<stdio.h>
  2. char a[1001]={0};
  3. int kill_number(long n)
  4. {
  5. int i = 2;
  6. while(i*n <= 1000)
  7. {
  8. a[i*n] = 1;i++;
  9. }
  10. }
  11. main()
  12. {
  13. long i,result = 0;
  14. for(i=2;i<=1000;i++)
  15. if(a[i] == 0)
  16. kill_number(i);
  17. for(i=2;i<=1000;i++)
  18. if(a[i] == 0)
  19. result++;
  20. printf("%ld\n",result);
  21. system("pause");
  22. }

复制代码
时间原因先用以前写好的C语言的玩意吧……有时间再改成Ruby

为什么要追求一行代码呢~难道您打算参加国际Ruby混乱代码大赛?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
43
发表于 2011-4-15 05:11:55 | 只看该作者
回复 心雪 的帖子

4(实则是 5)、是 27°,不是 0° o_O

5(实则是 6)、这么写不会有 eval 的信息,得嵌两层 eval;

9、Prime.new 这个被废弃了,现代的程序应该使用单例 Prime.instance,其余所有实例方法都提供了相应的类方法,如:Prime.each { ... }。

至于算法……不妨看看之前的讨论 OvO
空间方面其实只需要 ceil(1001/8) 个字节呢。

为什么要追求一行代码呢~难道您打算参加国际Ruby混乱代码大赛?

先生有所不知,当年 Perl 界有一个很有名的竞赛叫做 Perl Golf Apocalypse,其目的就是使用最少的 stroke 来写出一段程序,此处 stroke 同时有“高尔夫球挥杆”与“键击”之意,乃是双关语。后来的 Code Golf 就是基于经典的 Perl Golf 模式而出现的竞赛,其网站是 Rails 搭建的,引入了 Python、PHP 和 Ruby。Golfing 自由其乐趣,同时也是帮助了竞赛者掌握语言的接口。
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
100
在线时间
169 小时
注册时间
2007-8-12
帖子
203
44
发表于 2011-4-15 06:49:18 | 只看该作者
手机没有回复功能……直接回这里吧……实则是5的问题他只说要增强精度而已嘛……那个角度只是引子不是么(强词夺理)实则是6,好吧我承认我没仔细看……
至于素数算法,用二进制的确可以优化空间复杂度,但是C没有bool类型,我又不熟悉位运算……
还有……先生这个称呼承担不起,咱只是个学生……而且请问您是如何判断咱的性别的呢=v=
回复 支持 反对

使用道具 举报

乌有君
45
乌有君  发表于 2011-4-15 06:57:51
心雪 发表于 2011-4-15 06:49
手机没有回复功能……直接回这里吧……实则是5的问题他只说要增强精度而已嘛……那个角度只是引子不是么( ...

“先生”神马的只是为了符合上下文的样子(大雾)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
46
发表于 2011-4-15 07:47:54 | 只看该作者
回复 心雪 的帖子
但是C没有bool类型,我又不熟悉位运算……

其实 bool 也需要一个字节,关键在于位的操作。最好是用单个元素尽量大的数组,比如 32/64 位 int,使得每次位运算都能充分利用当前 CPU 架构下的最大的寄存器,减少内存操作次数,嘿嘿。

还有……先生这个称呼承担不起,咱只是个学生……而且请问您是如何判断咱的性别的呢=v=

先生只是对有学问者的通称,含敬意,并无年龄性别之分,呵呵~
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
41525
在线时间
7592 小时
注册时间
2009-7-6
帖子
13502

开拓者贵宾

47
发表于 2012-3-18 14:38:11 | 只看该作者
本帖最后由 fux2 于 2012-3-18 14:53 编辑

@evolniar@苏小脉
用evoniar的代码测试了一下,输入25结果输出也包含25,显然有bug,只要输入数为奇数并且可以开方,就会输出这个数,作者是否需要修正一下,我想不需要咱提供方法吧。
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-5 18:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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