它是做什么的 - 索引'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