
用matlab求求1!+2!+3!+…+19!+20! 谢谢!!!
展开全部
for i=1:20
a(i)=factorial(i);
end
result=sum(a)
result =
2.5613e+018
第二问:
很明显,1到10都不是,100也不是。所以程序如下:
>> a=[];
b=[' '];
for i=1:9
for j=0:9
if i*j>i+j
m=[num2str(i),num2str(j)];
A=[a,b,m];
a=A;
end
end
end
>> A
A =
23 24 25 26 27 28 29 32 33 34 35 36 37 38 39 42 43 44 45 46 47 48 49 52 53 54 55 56 57 58 59 62 63 64 65 66 67 68 69 72 73 74 75 76 77 78 79 82 83 84 85 86 87 88 89 92 93 94 95 96 97 98 99
第三问:
比如你的整数为行向量A,则
sort(A)
a(i)=factorial(i);
end
result=sum(a)
result =
2.5613e+018
第二问:
很明显,1到10都不是,100也不是。所以程序如下:
>> a=[];
b=[' '];
for i=1:9
for j=0:9
if i*j>i+j
m=[num2str(i),num2str(j)];
A=[a,b,m];
a=A;
end
end
end
>> A
A =
23 24 25 26 27 28 29 32 33 34 35 36 37 38 39 42 43 44 45 46 47 48 49 52 53 54 55 56 57 58 59 62 63 64 65 66 67 68 69 72 73 74 75 76 77 78 79 82 83 84 85 86 87 88 89 92 93 94 95 96 97 98 99
第三问:
比如你的整数为行向量A,则
sort(A)
追问
第二问解不出来啊,而且三问你能把程序弄出来给我吗?
追答
怎么解不出来呢,你是不是复制错了
你复制的时候不要把》也复制进去。呵呵
复制下面的吧。
a=[];
b=[' '];
for i=1:9
for j=0:9
if i*j>i+j
m=[num2str(i),num2str(j)];
A=[a,b,m];
a=A;
end
end
end
A=str2num(A) % 之前没有给出这个句子,是把字符串转化为数
结果:
A =
Columns 1 through 17
23 24 25 26 27 28 29 32 33 34 35 36 37 38 39 42 43
Columns 18 through 34
44 45 46 47 48 49 52 53 54 55 56 57 58 59 62 63 64
Columns 35 through 51
65 66 67 68 69 72 73 74 75 76 77 78 79 82 83 84 85
Columns 52 through 63
86 87 88 89 92 93 94 95 96 97 98 99
第三问其实根本就不用程序嘛,本身自带有排序函数,函数就是sort()
A=[2,2,3,34,3,2,3,3,435,]
A =
2 2 3 34 3 2 3 3 435
>> sort(A)
ans =
2 2 2 3 3 3 3 34 435

2024-08-07 广告
标定板认准大凡光学科技,专业生产研发厂家,专业从事光学影像测量仪,光学投影测量仪.光学三维测量仪,光学二维测量仪,光学二维测量仪,光学三维测量仪,光学二维测量仪.的研发生产销售。东莞市大凡光学科技有限公司创立于 2018 年,公司总部坐落于...
点击进入详情页
本回答由东莞大凡提供
展开全部
N=20;
a=zeros(1,N);
for i=1:N
a(i)=factorial(i);
end
result=sum(a)
楼上回答的很对,但是没有用matlab预分配空间,运行的会有点慢,体现不出matlab的优势
a=zeros(1,N);
for i=1:N
a(i)=factorial(i);
end
result=sum(a)
楼上回答的很对,但是没有用matlab预分配空间,运行的会有点慢,体现不出matlab的优势
追问
请问“输出1至100之间每位数的乘积大于每位数的和的数”程序如何编写,还有对“10个整数排序(建立函数文件)”的程序怎么写,答案我也要!不胜感激!
追答
%% 因为前 0到9的前十位数肯定不合要求,满足不了每位数的乘积大于每位数的和;
% 所以在这里编程的时候,忽略了前十位数;
N=200; i=0; % i计数用
Results=zeros(1,N); %存取所要的数据:每位数的乘积大于每位数的和的数
for r=1:N
a=fix(r/100);%取百分位
bb=rem(r,100);
b=fix(bb/10);%取十分位
c=rem(r,10);%取个位
if a==0
if b*c>(b+c)
i=i+1;
Results(i)=r;
end
else if a~=0
if a*b*c>(a+b+c)
i=i+1;
Results(i)=r;
end
end
end
end
Results(1:i)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
>> sum(factorial(1:20))
ans =
2.5613e+018
ans =
2.5613e+018
追问
请问“输出1至100之间每位数的乘积大于每位数的和的数”程序如何编写,还有对“10个整数排序(建立函数文件)”的程序怎么写,答案我也要!不胜感激!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
N=20;
a=zeros(1,N);
for i=1:N
a(i)=factorial(i);
end
result=sum(a)
a=zeros(1,N);
for i=1:N
a(i)=factorial(i);
end
result=sum(a)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询