免費開始練習
moea_joint_essay 113年 [資訊] 資訊管理、程式設計

第 六 題

六、請使用程式語言設計 1 個低時間複雜度的函式,傳入 a、b 皆為不大於 2^30 的正整數後,可判斷出 |a - b| 的值是否只有 3 個因數,並註明所使用的程式語言。(20 分)
(註:該函式只允許呼叫平方根函式。)
📝 此題為申論題

思路引導 VIP

數學上,一個正整數如果「恰好有 3 個因數」,它必定是「質數的平方」。因此先計算 |a - b|,判斷是否為完全平方數,再針對其平方根使用迴圈檢驗是否為質數即可達成極低的時間複雜度 O( (|a-b|)^(1/4) )。

🤖
AI 詳解 AI 專屬家教
// 所使用的程式語言:C++
#include <cmath>
▼ 還有更多解析內容

🏷️ 相關主題

物件導向程式設計與系統分析核心概念
查看更多「[資訊] 資訊管理、程式設計」的主題分類考古題