将许多整数保存为 1 个整数

问题描述

我试图将许多小于 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 (将#修改为@)