これは私が最近のインタビューに参加したときの質問で、興味深いと思います。int n=10; としましょう。
入力 : 配列 int a[10];
出力: 配列float b[10];
要件:
b[0]= a[1]*a[2]*...a[9]; // product of all numbers in a, other than a[0];
b[1]= a[0]*a[2]*...a[9]; // product of all numbers in a, other than a[1];
....
b[9]= a[0]*a[1]*...a[8]; // product of all numbers in a, other than a[9];
....
問題:除算演算子を使用せずに、どのようにして配列に値をb
入力できますか? そして、アルゴリズムで?/
O(n)
かなりの数の方法を試しましたが、まだ無駄です。何か案は?