C刷題記錄 求年齡 迴圈,可優化

2021-10-04 00:07:19 字數 625 閱讀 8632

題目:

美國數學家維納(n.wiener)智力早熟,11歲就上了大學。他曾在1935~2023年應邀來中國清華大學講學。一次,他參加某個重要會議,年輕的臉孔引人注目。於是有人詢問他的年齡,他回答說:「我年齡的立方是乙個4位數。我年齡的4次方是乙個6位數。這10個數字正好包含了從0到9這10個數字,每個都恰好出現1次。」請你程式設計算出他當時到底有多年輕。

輸出格式:「age=%d\n」

【解題思路】

因為已知年齡的立方是乙個4位數字,所以可以推斷年齡的範圍在10到22之間,因此確定窮舉範圍為10到22。如果年齡還滿足「年齡的4次方是乙個6位數」這個條件,則先計算年齡的立方值的每一位數字,從低位到高位分別儲存到變數b1,b2,b3,b4中,再計算年齡的4次方值的每一位數字,從低位到高位分別儲存到變數a1,a2,a3,a4,a5,a6中。如果上述10個數字互不相同,則必定是包含了從0到9這10個數字並且每個都恰好出現1次,因此只要判斷上述10個數字互不相同,即可確定這個年齡值為所求。

程式:

#include

intmain()

}return0;

}

LeetCode刷題記錄一(C)

1 給定乙個整數陣列和乙個目標值,找出陣列中和為目標值的兩個數。你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所以返回 0,1 note the returned array m...

刷題記錄(C )02

牛客網刷題 劍指offer 1.題目 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。2.解題思路 從前序遍歷可知,前序遍歷陣列pre的首元素就是二叉樹的根結點,然後根據根結點的值...

刷題記錄09(C )

牛客網刷題 題目 把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個非遞減排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。note 給出的所有元素都大於0,若陣列大小為0,請返回0。解題思路 這種二分查詢難就難在,arr mid 跟誰比.我們的目的是 當進行一次比較時,一定能夠...