它是做什麼的 - 索引'i'處的元素是除'i'處的輸入元素之外的所有輸入元素的乘積。這種算法在哪種情況下失敗?
作爲一個例子,如果ARR = {1,2,3,4},則
輸出爲{2 * 3 * 4,1 * 3 * 4,1 * 2 * 4,1 * 2 * 3}。
#include<cstdio>
#include<iostream>
using namespace std;
int main(){
int n;
long long int arr[1000]={0},prod=1;
cin>>n;
for(int i=0;i<n;i++){
cin>>arr[i];
prod*=arr[i];
}
if(prod!=0)
for(int i=0;i<n;i++){
cout<<(prod/arr[i])<<endl;
}
else
for(int i=0;i<n;i++){
cout<<"0"<<endl;
}
return 0;
}
你知道它失敗嗎?或者你要求人們進行代碼審查嗎? – mathematician1975 2012-08-12 09:36:43
它失敗。我無法弄清楚哪種情況,但 – h4ck3d 2012-08-12 09:37:59
你怎麼知道它失敗? – celtschk 2012-08-12 09:47:07