问题描述
我试图将许多小于 m 的自然数保存为 1 个自然数 n。 我需要一个函数来从 n 中读取第 i 个数字。 在 python 中,我可以这样做:
def read(n,m,i):#reads a number on index i from n.
return n//m**i%m
def save(numbers_to_save,m=None):#saves natural numbers,that are smaller than m to n.
if m is None:
m=max(numbers_to_save)+1
n=0
for i_number in range(len(numbers_to_save)):
n+=m**i_number*numbers_to_save[i_number]
return n
numbers_to_save=[12,54,3,7,23,8,9,72,3]
i_max=len(numbers_to_save)
m=max(numbers_to_save)+1
n=save(numbers_to_save,m)
del numbers_to_save
for i in range(i_max):
print(read(n,i),end=",")
但是如何在java中有效地做到每字节只读取n个字节? n 大于 long 的最大值,所以我不能用 long 来保存 n。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)