題目是這樣的:
某科技公司兩位科學家(甲、乙)去喫飯,坐在一家酒店靠近街道的窗口座位喫飯,在等待上菜的過程中,閒極無聊,甲向乙出了一道猜三個女兒年齡的題目。
甲:我有3個女兒,3人年齡之積等於36;
乙:猜不出來;
甲:3個女兒年齡之和等於街道上的行人數;
乙:還是無法確定;
甲:我的大女兒叫蘇珊。
乙:哦,我知道了。
請問,甲的3個女兒年齡各是多少?
閒着無聊,加上這道題也有點意思,就試着用python寫了一下
解題思路
首先我們要明白題目中給出的線索
1、3個女兒的年齡積爲36
2、她們的年齡和已知,但是不能得到最終結果
3、有一個大女兒
就這3個條件,就可以得出我們想要的結果,實話說,開始我也是很懵逼,後來仔細想了想,還是有可能的,我們可以這樣來做
1、找出積爲36的所有可能,並寫入列表
2、上面的列表求和,結果不唯一,則爲備選答案
3、列表中最大的值唯一
怎麼樣,這樣來看是不是清晰多了
先來看看,怎麼獲取所有積爲36的列表,我們新建一個函數,然後循環1-36之間的所有可能3次,最後判斷3個數字相加爲36即寫入列表,這裏注意,先將列表排序,然後在寫入列表的時候就可以判斷去重了。
然後就是在來一個函數,主要是計算一個列表的所有元素的和
最後就是主函數了,這裏主要做最後的判斷,先循環列表,取出所有列表的和,如果沒有重複就寫入一個空列表在,如果重複了,就再次進行判斷,最後一個條件,最大值是否唯一,這樣就可以得出我們想要的結果了!
完整代碼如下:
emmm,學習之餘寫寫算法,高手勿噴~!歡迎大家關注我,並一起來學習交流哦!題目是這樣的:
某科技公司兩位科學家(甲、乙)去喫飯,坐在一家酒店靠近街道的窗口座位喫飯,在等待上菜的過程中,閒極無聊,甲向乙出了一道猜三個女兒年齡的題目。
甲:我有3個女兒,3人年齡之積等於36;
乙:猜不出來;
甲:3個女兒年齡之和等於街道上的行人數;
乙:還是無法確定;
甲:我的大女兒叫蘇珊。
乙:哦,我知道了。
請問,甲的3個女兒年齡各是多少?
閒着無聊,加上這道題也有點意思,就試着用python寫了一下
解題思路
首先我們要明白題目中給出的線索
1、3個女兒的年齡積爲36
2、她們的年齡和已知,但是不能得到最終結果
3、有一個大女兒
就這3個條件,就可以得出我們想要的結果,實話說,開始我也是很懵逼,後來仔細想了想,還是有可能的,我們可以這樣來做
1、找出積爲36的所有可能,並寫入列表
2、上面的列表求和,結果不唯一,則爲備選答案
3、列表中最大的值唯一
怎麼樣,這樣來看是不是清晰多了
先來看看,怎麼獲取所有積爲36的列表,我們新建一個函數,然後循環1-36之間的所有可能3次,最後判斷3個數字相加爲36即寫入列表,這裏注意,先將列表排序,然後在寫入列表的時候就可以判斷去重了。
然後就是在來一個函數,主要是計算一個列表的所有元素的和
最後就是主函數了,這裏主要做最後的判斷,先循環列表,取出所有列表的和,如果沒有重複就寫入一個空列表在,如果重複了,就再次進行判斷,最後一個條件,最大值是否唯一,這樣就可以得出我們想要的結果了!
完整代碼如下:
emmm,學習之餘寫寫算法,高手勿噴~!歡迎大家關注我,並一起來學習交流哦!