八戒學完了算術,師父打算給八戒一個買禮物的任務。他們即將到達女兒國,師父給八戒m個盤纏,要他去買些禮物,已備到時候用做給女兒國國王、大臣們的見面禮。由於不知道即未來迎接他們的人數,爲了儘量讓女兒國的小姐姐們高興,師父要八戒儘可能多買幾件禮物備着。ios
領了任務,拿了盤纏的八戒來到不遠處的禮品店,他發現店裏一共有n件商品,每件商品各有價格。因而,八戒要算一算手裏的m個盤纏,最多能買幾件禮物。spa
5 60 40 20 10 20 30
3
1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 int main() 5 { 6 int n,m; 7 cin>>n>>m; 8 int a[n]; 9 for(int i=0;i<n;++i){ 10 cin>>a[i]; 11 } 12 13 int sum=0; 14 sort(a,a+n); 15 if(a[0]>m) 16 { 17 cout<<0; 18 return 0; 19 } 20 for(int i=0;i<n;++i) 21 { 22 sum+=a[i]; 23 if(i<n-1) 24 { 25 if(sum<=m&&m<sum+a[i+1]) 26 { 27 cout<<i+1; 28 return 0; 29 } 30 if(sum==sum+a[i+1]) 31 { 32 cout<<i+2; 33 return 0; 34 } 35 36 } 37 38 } 39 if(m>=sum) 40 { 41 cout<<n; 42 return 0; 43 } 44 }
在線性代數、計算幾何中,向量點積是一種十分重要的運算。code
給定兩個n維向量a=(a1,a2,...,an)和b=(b1,b2,...,bn),求點積a·b=a1b1+a2b2+...+anbn。blog
3 1 4 6 2 1 5
36
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int n,a[1000],b[1000]; 6 cin>>n; 7 for(int i=0;i<n;++i) 8 { 9 10 cin>>a[i]; 11 } 12 for(int i=0;i<n;++i) 13 { 14 15 cin>>b[i]; 16 } 17 int k=0; 18 for(int i=0;i<n;++i) 19 { 20 k+=a[i]*b[i]; 21 22 } 23 cout<<k; 24 25 return 0; 26 }