关于个算法

都要就加上num = r.max就行了啊
不是这个的 我理解的没有错误的话 算法的ARR保存的是分组情况 则 我这里 把num替换掉
如arr=(30/6)*6.to_i 这样的话 不报错 但是什么都没有输出。。
arr代表的是临界点。。。
最大值    传入值    输出
21      1      1 6
21      7      7 12
21      19     19 21
说明: 最大的也是传入的 可以肯定最大值肯定大于传入值
   最后输出的本组的最大值与最小值
现在比较忙,忙完和你讨论
def n(num,total)
return "FALSE" if (total.integer?)&&(!(num.between?(1,total)))
  min=6*(num/6)+1
 max=6*(num/6+1)

if max <= total
 min=6*(num/6)+1
 max=6*(num/6+1)
 return min,max
 else
  min=6*(num/6)+1
  max=total
  return min,max
 end
end

天啦 偶想自杀 想到了 但是没有抓住
  min=6*(num/6)+1
 max=6*(num/6+1)
就是这样的简单。。。。的
问题搞定 blackanger
附上某强人的代码 
if page<7
    min=1
    max=min+5
   else
   if total_pages%6!=0
    if page<(total_pages/6)*6+1
     if page%6==0
     min=(page/7)*7-(page/7-1)     
     max=min+5
     else
     min=((page/6)-1)*7+(7-((page/6)-1))
     max=min+5
     end
    else
     min=(total_pages/6)*6+1
     max=min+((total_pages%6)-1)
    end
   else
   if page%6==0
    min=(page/7)*7-(page/7-1)
    max=min+5    
   else
    min=((page/6)-1)*7+(7-((page/6)-1))
    max=min+5
   end
   end
其实偶是在改写will_paginate下的view_help.rb的文件
用户要求 next 或者 previous 为翻6页
然后在当前的组显示 6页

恩 这个很好啊
也发一个Python版的玩一下

[Copy to clipboard] [ - ]
嗯虽然已经LZ的问题解决了,不过我还是想把刚写的代码发上来
def range(num)
  m=num%6
  n=num/6
  if m==0
   n*6-5
  else
   n*6+1
  end 
 end
===============
测试:
 (1..36).each{
  |i|
  print i,"====>",range(i),"\n"
  if i%6==0
  print "\n","----------------------","\n"
  end
 }