1. 判断某一年是否是闰年。年从键盘输入。
n=input('n=') ifrem(n,400)==0 y='a leap year'; elseif rem(n,100)==0 y='not a leap year'; elseif rem(n,4)==0 y='a leap year';
else y='not a leap year';
end y
(如果此题改成:检查从1到5000年间的闰年,并把闰年用一向量表示。 a=[]; for n=1:5000 if rem(n,400)==0 a=[a,n]; elseif rem(n,100)==0 elseif rem(n,4)==0 a=[a,n]; end end a'
如果改成:编程,判断某一年是否是闰年: function y=leap(n)
if rem(n,4)==0&rem(n,100)~=0|rem(n,400)==0 'leap year'
else 'not a leap year' end
2. 用=???+?+?公式求π的近似值,直到最后一
??
??
??
??
????????
项绝对值小于10-6,试编写M脚本文件
s=0;
for n=1:5000
p=(-1)^(n-1)/(2*n-1); s=s+p; if abs(p)<1e-6 break end end 4*s 或者:
s=0;n=1;p=1; while abs(p)>1e-6
p=(-1)^(n-1)/(2*n-1); s=s+p; n=n+1; end s*4
3. 用循环语句来寻找第一个大于10000的Fibonacci数:
a(m)=a(m-1)+a(m-2), a(1)=a(2)=1 n=100; a=ones(1,n); for k=3:n
a(k)=a(k-1)+a(k-2);
if a(k)>=10000 break;
end, end
k, a(k), 或者: a=ones(1,100); m=2;
while a(m)<10000 a(m+1)=a(m-1)+a(m); m=m+1; end m, a(m),
4. 求解n!为100位数的最小n值。
a=1; for n=1:1000; a=a*n; if a>=1e100 break end end a, n 或者: a=1;n=1; while a<1e100
a=a*n; n=n+1; end a,n-1
3.编写一程序,求魔方矩阵magic(20)左上-右下对角线、左下-右上对角线的元素,并分别以一行向量表示。 a=magic(20); r=[]; s=[]; for m=1:20 for n=1:20 if m==n
s=[s a(m,n)]; elseif m+n==21 r=[r a(m,n)]; end end end r,s
4. 存在如下递推关系,编程计算精确到前100项的值,x由键盘输入。
x=input('x=') y=0; p=1; for n=1:100 p=p*(-x)/n;
1ny??(?x)nn! y=y+p; end y