用matlab求求1!+2!+3!+…+19!+20! 谢谢!!!

 我来答
导超
2012-04-13 · TA获得超过5716个赞
知道大有可为答主
回答量:1730
采纳率:0%
帮助的人:1800万
展开全部
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=[];
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 年,公司总部坐落于... 点击进入详情页
本回答由东莞大凡提供
春风与黄鹂鸟
2012-04-13 · TA获得超过547个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:138万
展开全部
N=20;
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)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liangxiaoruyue
2012-04-13 · TA获得超过379个赞
知道小有建树答主
回答量:112
采纳率:0%
帮助的人:53.8万
展开全部
>> sum(factorial(1:20))

ans =

2.5613e+018
追问
请问“输出1至100之间每位数的乘积大于每位数的和的数”程序如何编写,还有对“10个整数排序(建立函数文件)”的程序怎么写,答案我也要!不胜感激!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
910577250
2012-04-13
知道答主
回答量:15
采纳率:0%
帮助的人:2.3万
展开全部
N=20;
a=zeros(1,N);
for i=1:N
a(i)=factorial(i);
end
result=sum(a)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式