a = Table.new(102,11)
for i in 1..50
a[2*i,1] = 50-i
a[2*i-1,1]=51-i
end
a[100,1]=0
a[101,1]=0
for i in 2..10
for j in 1..50
a[2*j,i]=0
a[2*j-1,i]=0
for k in (j)..50
a[2*j-1,i]+=a[2*k,i-1]
a[2*j,i]+=a[2*k+1,i-1]
end
end
end
s=0
for i in 1..100
s+=a[i,10]
end
print s
求输出 s,如能帮忙输出 a 更佳。
原题:一至一百的集合的某十元子集之升序排列奇偶相间。求此子集之数量。
手机打代码,出错可能。如有错误请说明,如有妙解请指点。
TABLE 太久用法忘了,第一个是 第一维长度,第二个是第二维长度。维度为 2,那个2放哪里我真忘了…作者: R-零 时间: 2011-10-3 20:09
irb(main):001:0> a = Table.new(102,11)
NameError: uninitialized constant Object::Table
from (irb):1
from D:/Ruby192/bin/irb:12:in `<main>'
irb(main):002:0>
irb(main):002:0> for i in 1..50
irb(main):003:1>
irb(main):003:1> a[2*i,1] = 50-i
irb(main):004:1>
irb(main):004:1> a[2*i-1,1]=51-i
irb(main):005:1>
irb(main):005:1> end
NoMethodError: undefined method `[]=' for nil:NilClass
from (irb):3:in `block in irb_binding'
from (irb):2:in `each'
from (irb):2
from D:/Ruby192/bin/irb:12:in `<main>'
irb(main):006:0>
irb(main):006:0> a[100,1]=0
NoMethodError: undefined method `[]=' for nil:NilClass
from (irb):6
from D:/Ruby192/bin/irb:12:in `<main>'
irb(main):007:0>
irb(main):007:0> a[101,1]=0
NoMethodError: undefined method `[]=' for nil:NilClass
from (irb):7
from D:/Ruby192/bin/irb:12:in `<main>'
irb(main):008:0>
irb(main):008:0> for i in 2..10
irb(main):009:1>
irb(main):009:1> for j in 1..50
irb(main):010:2>
irb(main):010:2> a[2*j,i]=0
irb(main):011:2>
irb(main):011:2> a[2*j-1,i]=0
irb(main):012:2>
irb(main):012:2> for k in (j)..50
irb(main):013:3>
irb(main):013:3> a[2*j-1,i]+=a[2*k,i-1]
irb(main):014:3>
irb(main):014:3> a[2*j,i]+=a[2*k+1,i-1]
irb(main):015:3>
irb(main):015:3> end
irb(main):016:2>
irb(main):016:2> end
irb(main):017:1>
irb(main):017:1> end
NoMethodError: undefined method `[]=' for nil:NilClass
from (irb):10:in `block (2 levels) in irb_binding'
from (irb):9:in `each'
from (irb):9:in `block in irb_binding'
from (irb):8:in `each'
from (irb):8
from D:/Ruby192/bin/irb:12:in `<main>'
irb(main):018:0>
irb(main):018:0> s=0
=> 0
irb(main):019:0>
irb(main):019:0> for i in 1..100
irb(main):020:1>
irb(main):020:1> s+=a[i,10]
irb(main):021:1>
irb(main):021:1> end
NoMethodError: undefined method `[]' for nil:NilClass
from (irb):20:in `block in irb_binding'
from (irb):19:in `each'
from (irb):19
from D:/Ruby192/bin/irb:12:in `<main>'
irb(main):022:0>
irb(main):022:0> print s
irb(main):022:0> print s
ruby显示各种错误作者: IamI 时间: 2011-10-3 20:10
R-零 发表于 2011-10-3 20:09
irb(main):001:0> a = Table.new(102,11)
NameError: uninitialized constant Object::Table
from ...
RGSS…的说。第一句可能错了,具体见主楼作者: R-零 时间: 2011-10-3 20:14
s = 330548
a的话不方便输出作者: IamI 时间: 2011-10-3 20:22
和数学预计结果差好几个数量级果然我还是各种逻辑错误啊…
q=""
for i in 1..11
for j in 1..10
q+= a[i,j].to_s+" "
end
q+="\n"
end
File.open("a.txt","w").write(q)
谢谢作者: R-零 时间: 2011-10-3 20:25
a.txt的内容是
50 1225 20825 -12244 -22480 -23176 2408 13846 17540 -19374
49 1225 19600 -12244 -10236 -23176 25584 13846 3694 -19374
49 1176 19600 -31844 -10236 -12940 25584 -11738 3694 -23068
48 1176 18424 -31844 21608 -12940 -27012 -11738 15432 -23068
48 1128 18424 15268 21608 30988 -27012 15274 15432 27036
47 1128 17296 15268 6340 30988 7536 15274 158 27036
47 1081 17296 -2028 6340 24648 7536 7738 158 26878
46 1081 16215 -2028 8368 24648 -17112 7738 -7580 26878
46 1035 16215 -18243 8368 16280 -17112 24850 -7580 -31078
45 1035 15180 -18243 26611 16280 32144 24850 -32430 -31078
45 990 15180 32113 26611 -10331 32144 -7294 -32430 1352 作者: IamI 时间: 2011-10-3 20:29
好吧我知道了…数值太大TABLE你丫又卖萌了!!作者: IamI 时间: 2011-10-3 20:41
相信 TABLE 的我还不如相信爱情。
好吧。这次可以 RUBY了
[承诺报偿]1V
a = []
for i in 1..101;a[i]=[];end
for i in 1..50
a[2*i][1] = 50-i
a[2*i-1,1]=51-i
end
a[100][1]=0
a[101][1]=0
for i in 2..10
for j in 1..50
a[2*j][i]=0
a[2*j-1][i]=0
for k in (j)..50
a[2*j-1][i]+=a[2*k][i-1]
a[2*j][i]+=a[2*k+1][i-1]
end
end
end
s=0
for i in 1..100
s+=a[i][10]
end
print s作者: R-零 时间: 2011-10-3 20:47 本帖最后由 R-零 于 2011-10-3 20:50 编辑