2008/06/05

[面試問題] 平均薪資

甲、乙、丙三人想要知道他們的平均薪資,但又不想讓人知道自己的薪資,請問要如何做到?

1 則留言:

Clark 提到...

甲先想出一個隨機數,加上自己的薪資後把數字寫在紙上傳給乙,乙看了數字之後,再把自己的薪資加上去,寫在另一張紙上再傳給丙,丙再加上自己的薪資,寫在第三張紙上傳給甲。

甲接到丙的紙,減掉隨機數,把數字除以3,得到平均薪資,再告訴另外兩個人。

註:這解法假設三個人都是誠實的;如果有投機客存在,則沒有完美的解法(據我所知)