1、硅谷公司员工的工资计算方法如下:
A、工作时数超过120小时,超过部分加发15%
B、工作时数低于60小时,扣发700元
C、其余按每小时84元计发
试编程按输入的工号和该号员工的工时数,计算应发工资。
n=input('请输入工号:');
x=input('请输入工作时长:');
if x>120
y=120*84+(x-120)*84*(1+0.15);
else if x<60
y=x*84-700;
else if x>=60&&x<=120
y=x*84;
end
end
end
disp(y)
2、设计程序完成两位数的加减乘除四则运算,既产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。
x=round(rand*100);
y=round(rand*100);
disp([num2str(x),' ',num2str(y)])
z=input('请输入一个运算符号:','s');
if z=='+'
o=x+y;
else if z=='-'
o=x-y;
else if z=='*'
o=x*y;
else if z=='/'
o=x/y;
end
end
end
end
disp(o)
3、若两个连续自然数的乘积减1是素数,则称这两个连续自然数是亲密数对,该素数是亲密素数。例如:2*3-1=5。由于5是素数,所以2,3是亲密数对,5是亲密素数。求[2,50]区间内的所有亲密数对,以及上述亲密数对所对应的所有亲密素数之和。
i=1;
t=0;
sum=0;
disp('亲密数对为:')
for x=2:49
for i=1:(x*(x+1)-1)
if mod(x*(x+1)-1,i)==0
t=t+1;
end
end
if t==2
disp([num2str(x),' ',num2str(x+1)])
sum=sum+(x*(x+1)-1);
t=0;
else
t=0;
end
end
disp(['亲密素数之和为:',num2str(sum)])
4、已知y=f(40)/[f(30)+f(20)]求1、当f(n)=n+10*ln(n^2+5)时,求y的值
2、当f(n)=1*2+2*3+3*4+...+n*(n+1)时,求y的值
写两个f函数:
1)
function [o]=f1(n)
o=n+10*(log(n^2+5));
end
2)
function [o]=f2(n)
e=1;
for w=1:(n+1)
e=e*w;
o=e;
end
主程序里运行
y=f1(40)/(f1(30)+f1(20));
disp(y)
y=f2(40)/(f2(30)+f2(20));
disp(y)
5、日本数学家角谷提出一个著明的猜想:
任何一个大于1的自然数经过如下的有限步运算,最后结果为1
(1)如果是偶数,将其除以2
(2)如过是奇数,将其乘以3,再加上1
根据上面提供的猜想:建立M函数,以便方便的验证对不同自然数,角谷猜想是否正确。
function [o]=f5(n)
while n~=1
if mod(n,2)==0
n=n/2;
else if mod((n+1),2)==0
n=n*3+1;
end
end
end
o=n;
end
6、写一程序求1!+2!+…+10!
j=1;
sum=0;
for i=1:10
j=j*i;
sum=sum+j;
end
disp(sum)
7、从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“not exist”。
A=zeros(1,10);
for i=1:10
A(1,i)=input('请输入十个整数:');
end
for j=1:10
if mod(A(1,j),7)==0
disp(A(1,j));
break
end
if j==10
disp('not exist')
end
end
8、输入一个整数,写一程序输出它是几位数
这个题还是要注意abs取绝对值,然后fix的利用
i=0;
a=input('请输入一个整数:');
while 1
a=abs(a/10);
x=fix(a);
if x>0
i=i+1;
end
if x==0
i=i+1;
break
end
end
disp(['此数为',num2str(i),'位数'])