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...