社区
数据结构与算法
帖子详情
不定基进制
kongl123
2009-06-29 09:50:55
在一般的进制中,一个数X可以唯一地被分解为a[1]*b^k + a[2]*b^(k-1)...+a[k+1]*b^0。现在问有没有这样一种运算集,对一个整数的子集,它的每个元素Y能而且只能被唯一地分解为一种像这样的形式:a[1]*b[1]+a[2]*b[2]...+a[k]*b[k],其中b是一组预先确定的数字,且当n!=m时,有b[n]!=b[m]? 如果有,如何算出一组b的解;这个子集相对整数集的疏密度如何;怎么找出一组b的解,使得这个子集更加稠密?
...全文
60
17
打赏
收藏
不定基进制
在一般的进制中,一个数X可以唯一地被分解为a[1]*b^k + a[2]*b^(k-1)...+a[k+1]*b^0。现在问有没有这样一种运算集,对一个整数的子集,它的每个元素Y能而且只能被唯一地分解为一种像这样的形式:a[1]*b[1]+a[2]*b[2]...+a[k]*b[k],其中b是一组预先确定的数字,且当n!=m时,有b[n]!=b[m]? 如果有,如何算出一组b的解;这个子集相对整数集的疏密度如何;怎么找出一组b的解,使得这个子集更加稠密?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kongl123
2009-06-30
打赏
举报
回复
我说的k维是指b有k个元素,但Y是一维的,就是Y是a和b的点积。
kongl123
2009-06-30
打赏
举报
回复
[Quote=引用 12 楼 fire_woods 的回复:]
如果是实数域,b是k维向量的话,对应的问题实际上是一个求矩阵秩的问题.
整数域太复杂了,说不清楚.
不过b = {[1,0...0], [0,1,...0]...[0,0...,1]}
依然是一组全覆盖的基向量.
[/Quote]
b = {[1,0...0], [0,1,...0]...[0,0...,1]} 不能保证a是唯一解吧
chuengchuenghq
2009-06-30
打赏
举报
回复
UP
fire_woods
2009-06-30
打赏
举报
回复
如果是实数域,b是k维向量的话,对应的问题实际上是一个求矩阵秩的问题.
整数域太复杂了,说不清楚.
不过b = {[1,0...0], [0,1,...0]...[0,0...,1]}
依然是一组全覆盖的基向量.
kongl123
2009-06-30
打赏
举报
回复
1的确是一组解。
如果说b是k维向量,那怎么样?能否存在一种构造方法?因为实际中我需要的b的维数至少是32
fire_woods
2009-06-30
打赏
举报
回复
提供一组解.
b[] = {1}
对所有整数都有唯一解.
对于b元素大于一个的,无法覆盖整个整数集合.
kongl123
2009-06-30
打赏
举报
回复
[Quote=引用 8 楼 fire_woods 的回复:]
引用 5 楼 kongl123 的回复:
引用 3 楼 fire_woods 的回复:
一个数X可以唯一地被分解为a[1]*b^k + a[2]*b^(k-1)...+a[k+1]*b^0
其实并不是唯一的.你可以分解成(a[1]-1)*b^k + (a[2]+b)*b^(k-1)...+a[k+1]*b^0
对于进制分解,要求a[i] <b;
楼主的想法里面,对a[i]的约束是什么呢?
你考虑的是实数,但对一个数的分解来说一般是指整数分解,我的意思也是基于整数的
说的都是整数来着.
[/Quote]
是的,我引用错了。我本来的意思是说4楼的欧几里得算法,它的系数可以是实数。
你说的k进制的分解不唯一是指系数可以超过基大小,我一开始的意思是指进制展开,所以系数是0-k,是我没说清。
我问的问题中对系数是没有要求的,只要是整数,而且对一个数Y只有唯一一组系数在确定的基b下是它的一个分解。
fire_woods
2009-06-30
打赏
举报
回复
[Quote=引用 5 楼 kongl123 的回复:]
引用 3 楼 fire_woods 的回复:
一个数X可以唯一地被分解为a[1]*b^k + a[2]*b^(k-1)...+a[k+1]*b^0
其实并不是唯一的.你可以分解成(a[1]-1)*b^k + (a[2]+b)*b^(k-1)...+a[k+1]*b^0
对于进制分解,要求a[i] <b;
楼主的想法里面,对a[i]的约束是什么呢?
你考虑的是实数,但对一个数的分解来说一般是指整数分解,我的意思也是基于整数的
[/Quote]
说的都是整数来着.
fire_woods
2009-06-30
打赏
举报
回复
b是一维的时候有解,其他的均无解.
二维的话
假设Y = a1*b1 + a2*b2 是一个解
那么Y=(a1-b2)*b1+(a2+b1)*b2也是一个解
当然可以构造出无穷多个解来.
更高维也是一样的.
fire_woods
2009-06-30
打赏
举报
回复
哦,原来如此.
kongl123
2009-06-29
打赏
举报
回复
引用都错的,不好意思,第一次用哈哈!
kongl123
2009-06-29
打赏
举报
回复
[Quote=引用 2 楼 kongl123 的回复:]
是可以考虑质数,但不只是质数这么简单。先就简单的说,当b只用两个元素时:Y=a1*b1+a2*b2,那么有a1*b1 != a2*b2(不然有多种分解结果)。但当变数a1为b2的合数时,不论b1,b2为何值,其不等式可以不成立,这样,这个数集要在整数的基础上减掉a因子中包含基b中的因子时的所有元素,所以,当b很小时,要删去的元素很多,使这个数集很稀疏;不然当b很大时,a*b本身就很稀疏。在计算机中,用确定位长的整数表示这个集合时,其元素个数…
[/Quote]
我对a没有要求,前面说的都是基于唯一这个要求推出来的
kongl123
2009-06-29
打赏
举报
回复
[Quote=引用 3 楼 fire_woods 的回复:]
一个数X可以唯一地被分解为a[1]*b^k + a[2]*b^(k-1)...+a[k+1]*b^0
其实并不是唯一的.你可以分解成(a[1]-1)*b^k + (a[2]+b)*b^(k-1)...+a[k+1]*b^0
对于进制分解,要求a[i] <b;
楼主的想法里面,对a[i]的约束是什么呢?
[/Quote]
你考虑的是实数,但对一个数的分解来说一般是指整数分解,我的意思也是基于整数的
绿色夹克衫
2009-06-29
打赏
举报
回复
Y = a1*b1 + a2*b2 可以用欧几里得扩展来解,只存在有解同无解的差别。有解的话,解会是无限多个。
Y = a1*b1 + a2*b2 + a3*b3 的解会更稠密,不会稀疏。
[Quote=引用 2 楼 kongl123 的回复:]
是可以考虑质数,但不只是质数这么简单。先就简单的说,当b只用两个元素时:Y=a1*b1+a2*b2,那么有a1*b1 != a2*b2(不然有多种分解结果)。但当变数a1为b2的合数时,不论b1,b2为何值,其不等式可以不成立,这样,这个数集要在整数的基础上减掉a因子中包含基b中的因子时的所有元素,所以,当b很小时,要删去的元素很多,使这个数集很稀疏;不然当b很大时,a*b本身就很稀疏。在计算机中,用确定位长的整数表示这个集合时,其元素个数…
[/Quote]
fire_woods
2009-06-29
打赏
举报
回复
一个数X可以唯一地被分解为a[1]*b^k + a[2]*b^(k-1)...+a[k+1]*b^0
其实并不是唯一的.你可以分解成(a[1]-1)*b^k + (a[2]+b)*b^(k-1)...+a[k+1]*b^0
对于进制分解,要求a[i]<b;
楼主的想法里面,对a[i]的约束是什么呢?
kongl123
2009-06-29
打赏
举报
回复
是可以考虑质数,但不只是质数这么简单。先就简单的说,当b只用两个元素时:Y=a1*b1+a2*b2,那么有a1*b1 != a2*b2(不然有多种分解结果)。但当变数a1为b2的合数时,不论b1,b2为何值,其不等式可以不成立,这样,这个数集要在整数的基础上减掉a因子中包含基b中的因子时的所有元素,所以,当b很小时,要删去的元素很多,使这个数集很稀疏;不然当b很大时,a*b本身就很稀疏。在计算机中,用确定位长的整数表示这个集合时,其元素个数很有限。当b的元素更多时,它的疏密度就更稀疏了。要怎么解决这个问题呢?
daidodo
2009-06-29
打赏
举报
回复
考虑用质数分解,那么b[m]与b[n]必须包含不用的质数因子。
电子功用-氮化镓
基
低漏电流固支梁的RS触发器
RS触发器是一种
基
本的数字逻辑电路,常用于存储二
进制
状态或作为其他逻辑电路的构建模块。 RS触发器,全称为“Set-Reset”触发器,它具有两种稳定状态,即“Set”(设定)和“Reset”(复位)。这种触发器的特点是...
零
基
础学FPGA(五)Verilog语法
基
基
础
基
础(下)
输出列表中的数据宽度会自动调整,为了提高代码可读性,通常会在%和表示
进制
的符号间加0来确保最小位数的表示。当输出列表中包含
不定
值或高阻态时,会有特定的规则来决定如何显示。 2. `$monitor`系统任务则提供了...
c ACM必须掌握的算法.doc
1. **最大公约数**:Euclid算法及其扩展,解决同余方程与
不定
方程。 2. **线性方程组**:高斯消元法,以及在模2域上的应用。 3. **矩阵运算**:行列式计算,利用矩阵乘法快速处理递推关系。 4. **分数计算**:...
maple 常用命令.doc
- **`evalf(2/3)`**:此命令用于将分数 `2/3` 转换为十
进制
数值表示。Maple 中的 `evalf` 函数可以对任意表达式进行数值化处理。 - **`length(1000!)`**:`length` 函数用于计算表达式的字符长度,这里的 `1000!` ...
Delphi读写二
进制
文件
二
进制
文件(也叫类型文件),二
进制
文件是由一批同一类型的数据组成的一个数据序列,就是说一个具体的二
进制
文件只能存放同一种类型的数据。typeTMember = recordName : string[10];eMail : string[20];Posts : ...
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章