回 帖 发 新 帖 刷新版面

主题:MATLAB的编程问题,急!!!

用MATLAB编写以下程序:
1、取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。 

2、输入两个正整数m和n,求其最大公约数和最小公倍数。

3、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

4、有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

5、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

6、求出100-999范围内的水仙花数。所谓水仙花数即一个三位数,该数等于其各位数字的立方和。  如:153=13+53+33=1+125+27

7、找出1-10000范围内的完数。所谓完数即该数等于其真因数的和   如:28=1+2+4+7+14    

8 、魔方矩阵magic(n)的特点是:其元素由1到nn的自然数组成,且每行、每列及两对角线上的元素之和均等于(n3+n)/2。求n=9时的魔方矩阵。并且,找到此矩阵中所有被7整除的元素,在其位置上标以1,其余位置标以0。求此矩阵。

9、100元钱换成零钱(包括50元、20元、10元、5元、2元和1元六种面值),共有多少种不同的换法?(如50*2,20+10*7+5*2,100*1等都是不同的换法)。

希望高手们及时给小弟答案,急!!!谢谢

回复列表 (共21个回复)

沙发

第8题:
A=magic(9);
A(mod(A,7)~=0)=0;
A(A~=0)=1;

其他题怎么看都是C程序题,都不难的,自己动动脑筋

板凳

第五题
D=0
for n=1:10
Dn=(100)*1/2^n
D=D+Dn
end

D为10次的总距离,Dn为第十次的距离[em2]

3 楼

我回帖为什么总是出现乱码?
第五题
D=0
for n=1:10
Dn=(100)*1/2^n
D=D+Dn
end

D为10次的总距离,Dn为第十次的距离[em2]

4 楼


a=input('请大哥输入一个整数a=');
b=input('请大哥输入一个整数 b=');
c=a;
d=b;
while a~=b
    if a>b
        a=a-b;
       else
        b=b-a;
    end
 end
 fprintf('a 和b的最小公约数是:\n%d\n',a);
 fprintf('a 和b的最小公倍数是:\n%d\n',c*d/a);
    

5 楼


第一题:
a=input('请输入你想要验证的正整数a=');
i=1;
while a~=1
    if mod(a,2)==0
        M(1,i)=a/2;
        a=a/2;
        i=i+1;
    else
        M(1,i)=3*a+1;
        a=3*a+1;
        i=i+1;
    end
end
d=1;
for j=1:length(M)
 if j<=(length(M)-1);   
    fprintf('%d->',M(1,j));
    if mod(d,10)==0&&d<=length(M)
        fprintf('\n');
    end
    d=d+1;
 else
     fprintf('%d\n',M(1,j));
 end
end

6 楼

第九题:a1 a2 a3 a4 a5 a6 分别表示50 20 10 50 2 1元人民币的张数! 
matlab的M文件:
c=0;
for a1=0:2
 for a2=0:5
  for a3=0:10
   for a4=0:20
    for a5=0:50
     for a6=0:100
      if(50*a1+20*a2+10*a3+5*a4+2*a5+a6==100)
       b=[a1 a2 a3 a4 a5 a6];  %不加";"号则显示每种方案!
       c=c+1;    
      end
     end
    end
   end
  end
 end
end
c
得出结果:c=
             4562
种方案!!!

7 楼

第四题:
matlab M文件:
function y=tuzishu(n)
%n为输入的月数,求n个月后的兔子的对数!
f(1)=1
f(2)=1
for i=3:n
   f(i)=f(i-2)+f(i-1)
end
 

8 楼


第六题:
clear;
j=1;
for i=100:999
    c=mod(i,10);
    b=mod((i-c)/10,10);
    a=mod((i-10*b-c)/100,10);
    if i==(a^3+b^3+c^3)
        M(1,j)=i;
        j=j+1;
    end
end
fprintf('100到999内的水仙花数是:\n');
for h=1:length(M)
fprintf('%d  ',M(1,h));
end
fprintf('\n');


9 楼


第二题:公因数,公倍数!
function y=gongyinbei(m,n)
if(m>n)
    k=n;
else
    k=m;
end
for i=1:k
    if (mod(m,i)==0&mod(n,i)==0)
        x(i)=i;
    end
end
zuidagongyinshu=x(1);
s=size(x);
for j=1:s(2)
    if (zuidagongyinshu<x(j))
        zuidagongyinshu=x(j);
    end
end
t1=m/zuidagongyinshu;t2=n/zuidagongyinshu;
zuixiaogongbeishu=t1*t2*zuidagongyinshu
zuidagongyinshu
    

10 楼


第七题:
h=1;
for i=2:10000
    for j=1:i
        if mod(i,j)==0
            M(1,h)=j;
            if j^2==i
                h=h+1;
                M(1,h)=j;
            end
            h=h+1;
        end
    end
    if 2*i==sum(M);
      fprintf('%d=',i);
     for k=1:(length(M)-2)
         fprintf('%d+',M(1,k));
     end
     fprintf('%d',M(1,(length(M)-1)));
     fprintf('\n');
    end
   h=1;
    M=[];
end
运行结果:
6=1+2+3
28=1+2+4+7+14
496=1+2+4+8+16+31+62+124+248
8128=1+2+4+8+16+32+64+127+254+508+1016+2032+4064

不过很慢啊!!!!
   


    
   


      

我来回复

您尚未登录,请登录后再回复。点此登录或注册