陣列元素的乘積

2021-07-29 05:29:09 字數 1099 閱讀 6570

matlab:

prod    陣列元素的乘積

1、syntax

a、b = prod(a) 返回陣列a的乘積

如果a是向量,prod(a)返回a向量的乘積。

如果a是非空矩陣,prod(a)將a看作列向量,返回每一列元素的乘積並組成乙個行向量b。

如果a是空矩陣,prod(a)返回1。

如果a是多維陣列,prod(a)沿著第乙個非單例作為向量,返回乙個行向量陣列。

b、b = prod(a,dim) 

沿著指定的dim標量的維計算a矩陣的乘積。注:如果a是乙個矩陣,dim=2表示沿行計算,返回乙個列向量。

c、b = prod(___,type) 

例如:a = [ 1     4     7

2     5     8

3     6     9]

b = prod(a)

= [6   120   504]

b = prod(a,2)

b =   28

80162

2、matlab :

a、a = [1:5] ,prod(a)表示求5的階乘

b、另一種求階乘方法:

%%%%%子函式%%%%%

function [factorial]=fac(n)

%功能:求n的階乘

maxno=max(max(n));

zerosi=find(n<=0); %取n小於等於0的數

n(zerosi)=ones(size(zerosi));

factorial=n;

findex=n;

for i=maxno:-1:2

cand=find(findex>2);

candidates=findex(cand);

findex(cand)=candidates-1;

factorial(cand)=factorial(cand).*findex(cand);

endreturn;

c、c中求階乘

double factorial(long n)//

50 陣列剔出元素後的乘積

原題 給定乙個整數陣列a。定義b i a 0 a i 1 a i 1 a n 1 計算b的時候請不要使用除法。您在真實的面試中是否遇到過這個題?yes樣例給出a 1,2,3 返回 b為 6,3,2 標籤 前後遍歷 1 include 2 include 3 include 4 using names...

LintCode 50 陣列剔除元素後的乘積

給定乙個整數陣列a。定義b i a 0 a i 1 a i 1 a n 1 計算b的時候請不要使用除法。給出a 1,2,3 返回 b為 6,3,2 無記錄每個點的左右二邊的乘積即可。i從左邊往左走,j從右邊往右走,每次都是記錄的都是當前點之前的乘積。這樣就相當於跳過了當前這個點。vector lon...

lintCode 50 陣列踢出元素後的乘積

給定乙個整數陣列a。定義b i a 0 a i 1 a i 1 a n 1 計算b的時候請不要使用除法。樣例 給出a 1,2,3 返回 b為 6,3,2 非常笨拙的思路,兩個for迴圈計算b i public arraylistproductexcludeitself arraylista b.ad...