matlab编程--求解水仙花数

matlab编程--求解水仙花数

ID:14052694

大小:43.00 KB

页数:3页

时间:2018-07-25

matlab编程--求解水仙花数_第1页
matlab编程--求解水仙花数_第2页
matlab编程--求解水仙花数_第3页
资源描述:

《matlab编程--求解水仙花数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、【原创】MATLAB编程--求解水仙花数【例】何为水仙花数?水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。(例如:1^3+5^3+3^3=153)三位的水仙花数共有4个:153,370,371,407;四位的水仙花数共有3个:1634,8208,9474;五位的水仙花数共有3个:54748,92727,93084;六位的水仙花数只有1个:548834;七位的水仙花数共有4个:1741725,4210818,9800817,9926315;八位的水仙花数共有3个:24678050,24678051,88593477程序如下:form=100:999m1=f

2、ix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);ifm==m1^3+m2^3+m3^3disp(m)endend153370371407while循环结构【例】Fibonacci数组的元素满足Fibonacci规则:,;且。现要求该数组中第一个大于10000的元素。a(1)=1;a(2)=1;i=2;whilea(i)<=10000a(i+1)=a(i-1)+a(i);i=i+1;end;i,a(i),i=21ans=10946【例】用for循环指令来寻求Fibonacc数组中第一个大于10000的元素。n=100;a=ones(1,n);fo

3、ri=3:na(i)=a(i-1)+a(i-2);ifa(i)>=10000a(i),break;end;end,ians=10946i=21switch-case结构【例】学生的成绩管理,用来演示switch结构的应用。clear;fori=1:10;a{i}=89+i;b{i}=79+i;c{i}=69+i;d{i}=59+i;end;c=[d,c];Name={'Jack','Marry','Peter','Rose','Tom'};Mark={72,83,56,94,100};Rank=cell(1,5);S=struct('Name',Name,'Marks',Mark,'

4、Rank',Rank);fori=1:5switchS(i).Markscase100S(i).Rank='满分';caseaS(i).Rank='优秀';casebS(i).Rank='良好';casecS(i).Rank='及格';otherwiseS(i).Rank='不及格';endenddisp(['学生姓名','得分','等级']);disp('')fori=1:5;disp([S(i).Name,blanks(6),num2str(S(i).Marks),blanks(6),S(i).Rank]);end;学生姓名得分等级Jack72及格Marry83良好Peter56

5、不及格Rose94优秀Tom100满分【例】matlab魔方矩阵的程序设计functionM=magic(n)%MAGICMagicsquare.%MAGIC(N)isanN-by-Nmatrixconstructedfromtheintegers%1throughN^2withequalrow,column,anddiagonalsums.%ProducesvalidmagicsquaresforallN>0exceptN=2.%Copyright1984-2002TheMathWorks,Inc.%$Revision:5.15$$Date:2002/04/1503:44:23$%

6、Historically,MATLAB'smagicwasabuilt-infunction.%ThisM-fileusesanewalgorithmtogeneratethesamematrices.n=floor(real(double(n(1))));%Oddorder.ifmod(n,2)==1[J,I]=meshgrid(1:n);A=mod(I+J-(n+3)/2,n);B=mod(I+2*J-2,n);M=n*A+B+1;%Doublyevenorder.elseifmod(n,4)==0[J,I]=meshgrid(1:n);K=fix(mod(I,4)/2)==fi

7、x(mod(J,4)/2);M=reshape(1:n*n,n,n)';M(K)=n*n+1-M(K);%Singlyevenorder.elsep=n/2;M=magic(p);M=[MM+2*p^2;M+3*p^2M+p^2];ifn==2,return,endi=(1:p)';k=(n-2)/4;j=[1:k(n-k+2):n];M([i;i+p],j)=M([i+p;i],j);i=k+1;j=[1i];M([i;i+p],j)=M([i+p;i]

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。