目录
第一次作业题
题目
1.打印出所有的水仙花数。所谓“水仙花数”,是指一个三位数,其各位数字立方之和等于该数本身,(例如:1^3 + 5^3+ 3^3 = 153)。
代码
for i=100:1:999
a=fix(i/100);
b=fix(rem(i,100)/10);
c=fix(rem(i,10));
if(i==a^3+b^3+c^3) i
end
end
2.3x+1猜想:任意输入一大于1的正整数,如果是奇数,则乘以3再加1;如果是偶数,则除以2。得到的结果,再继续按上述规则一直计算下去,必定会得到1。
请编程验证此猜想,要求程序运行后可实现屏幕提示“请任意输入一大于1的正整数:”,当输入一大于1的正整数后,显示每一步计算结果,如果得到1,则结束,并显示“猜想成立”。
代码
x=input('请任意输入一大于1的正整数:');
while 1
if rem(x,2)==1
fprintf('%d*3+1=%d\n',x,x*3+1);
x=x*3+1;
else
fprintf('%d/2=%d\n',x,x/2);
x=x/2;
end
if x==1
fprintf('猜想成立\n');
break;
end
end
题目
代码
[x,y]=meshgrid([-2:0.2:2]);
z=x.*exp(-x.^2-y.^2);
subplot(2,2,1);
plot3(x,y,z)
title('三维线图');
subplot(2,2,2);
mesh(x,y,z)
title('网线图');
subplot(2,2,3);
surf(x,y,z)
title('表面图');
subplot(2,2,4);
surf(x,y,z)
shading flat;
title('带渲染效果的表面图');