Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-03-26
年龄: 36
帖子: 5
声望力: 0 ![]() |
![]()
我想用matlab做下面的一个问题:
找出所有由1-9这9个数排列而成的并且还是3的13次方的倍数的9位数。 我用其他语言已经实现,但是因为刚接触MATLAB,还没有用它实现。还望高手指教。 我的EMAIL:[email protected] QQ:814663606. 谢了。 |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-02-26
年龄: 38
帖子: 158
声望力: 25 ![]() ![]() ![]() |
![]()
呵呵,终于搞定了。下面是程序。
x=1; while x<10^9/3^13 a=x*3^13; b=int2str(a); n=length(b); x=x+1; c=(b-48)|0; if n==9 & all(c)==1 fprintf('%d\n',a) end end
__________________
学我想学,用我所学。:lovely: |
![]() |
![]() |
![]() |
#3 |
普通会员
注册日期: 2008-03-25
年龄: 40
帖子: 58
声望力: 19 ![]() |
![]()
數字可以重複出現??
|
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2008-03-26
年龄: 36
帖子: 5
声望力: 0 ![]() |
![]() |
![]() |
![]() |
![]() |
#5 |
普通会员
注册日期: 2008-03-25
年龄: 40
帖子: 58
声望力: 19 ![]() |
![]() |
![]() |
![]() |
![]() |
#6 |
高级会员
注册日期: 2008-02-26
年龄: 38
帖子: 158
声望力: 25 ![]() ![]() ![]() |
![]()
题目的要求是九位数,所以必须要有一个语句来检测该数字是不是九位数字,这样的话,单个的数字是不能通过matlab现有的命令得到长度的,故将数字转化成字符串这样就可以运用matlab现有的命令length来检测该字符串的长度了,这样就实现了就为数字的检测。
程序中的b是一个字符串,在ASCII码表中,数字与其相应的码值有一个48的差值,故剪掉48后这样原来的数字a分解为一个由每一位组成的字符串了。可以进行逻辑运算了。
__________________
学我想学,用我所学。:lovely: |
![]() |
![]() |
![]() |
#7 |
普通会员
注册日期: 2008-03-25
年龄: 40
帖子: 58
声望力: 19 ![]() |
![]() |
![]() |
![]() |
![]() |
#8 |
高级会员
注册日期: 2008-02-26
年龄: 38
帖子: 158
声望力: 25 ![]() ![]() ![]() |
![]()
x=1;
while x<10^9/3^13 a=x*3^13; b=int2str(a); n=length(b); y=sort(b); z='123456789'; x=x+1; c=(b-48)|0; if n==9 & all(c)==1 & y==z fprintf('%d\n',a) end end
__________________
学我想学,用我所学。:lovely: |
![]() |
![]() |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
【讨论】matlab遗传算法应用 | dushulang | MATLAB论坛 | 2 | 2008-05-16 23:09 |
[求助]用小波变换法进行心电信号消噪 | wxp | MATLAB论坛 | 0 | 2008-04-30 08:48 |
[求助]信道函数ricianchan | zhoujoe | MATLAB论坛 | 0 | 2008-04-29 17:30 |
matlab 中反函数运算。 | zhanggongrui | MATLAB论坛 | 0 | 2008-04-29 00:03 |
【求助】求教大虾:如何创建一个维度为N的矩阵 | ink1219 | MATLAB论坛 | 0 | 2007-08-11 18:14 |