Arrays 如何:多位数整数,将每个整数提取到单个整数数组中

Arrays 如何:多位数整数,将每个整数提取到单个整数数组中,arrays,ruby,sorting,integer-arithmetic,Arrays,Ruby,Sorting,Integer Arithmetic,我正在进行一项取决于能否完成这项任务的练习。我必须取一个大于等于0的多位数整数,即830124,并生成一个单个数字的数组 我的思路是,我可以将其转换为字符串,在数组中为字符串编制索引,然后再转换回int,但我还是有点迷茫。有什么建议吗?你的直觉是正确的: 830124.to_s.每个字符映射(&:to_i) # => [ 8, 3, 0, 1, 2, 4 ] 仅用数学也很容易做到这一点,速度可能略快一些: num=830124 arr=[] 而num>0 num,余数=num.divmod(1

我正在进行一项取决于能否完成这项任务的练习。我必须取一个大于等于0的多位数整数,即830124,并生成一个单个数字的数组


我的思路是,我可以将其转换为字符串,在数组中为字符串编制索引,然后再转换回int,但我还是有点迷茫。有什么建议吗?

你的直觉是正确的:

830124.to_s.每个字符映射(&:to_i)
# => [ 8, 3, 0, 1, 2, 4 ]
仅用数学也很容易做到这一点,速度可能略快一些:

num=830124
arr=[]
而num>0
num,余数=num.divmod(10)
取消移位(剩余部分)
结束
p arr
# => [ 8, 3, 0, 1, 2, 4 ]

你的直觉是正确的:

830124.to_s.每个字符映射(&:to_i)
# => [ 8, 3, 0, 1, 2, 4 ]
仅用数学也很容易做到这一点,速度可能略快一些:

num=830124
arr=[]
而num>0
num,余数=num.divmod(10)
取消移位(剩余部分)
结束
p arr
# => [ 8, 3, 0, 1, 2, 4 ]
或者,在不将字符转换为整数的情况下:

n.to_s.size.times.with_object([]) { |_,a| n,i = n.divmod(10); a.unshift(i) }
  #=> [8, 3, 0, 1, 2, 4]
或者,在不将字符转换为整数的情况下:

n.to_s.size.times.with_object([]) { |_,a| n,i = n.divmod(10); a.unshift(i) }
  #=> [8, 3, 0, 1, 2, 4]

将数字除以10,使用商并保存在数组中。希望这会起作用。将数字除以10,使用商并保存在数组中。希望这会起作用。有计划下周六在印第安纳波利斯吗?没有。。?有什么事吗?你在爱荷华州,对吗?这不是爱荷华州七叶树队的主场吗?他们下周六将在印第安纳波利斯与密歇根州队争夺10大足球锦标赛?如果你没有听说过,你一定是这个州唯一没有听说过的人哦,对了。爱荷华大学,实际上是鹰眼。我隐约知道发生了什么,正如你所说,不可能住在这里而不在这里,但我不知道他们下一场比赛是谁或在哪里!有计划下周六去印第安纳波利斯吗?没有。。?有什么事吗?你在爱荷华州,对吗?这不是爱荷华州七叶树队的主场吗?他们下周六将在印第安纳波利斯与密歇根州队争夺10大足球锦标赛?如果你没有听说过,你一定是这个州唯一没有听说过的人哦,对了。爱荷华大学,实际上是鹰眼。我隐约知道发生了什么,正如你所说,不可能住在这里而不在这里,但我不知道他们下一场比赛是谁或在哪里!