專欄 演算法入門 通過簡單的判斷,減少演算法的冗餘

2021-08-27 09:14:38 字數 473 閱讀 6016

例:求斜邊小於等於n的所有的直角三角形 邊長的組合。

方法一:(最笨最直接的做法)3個邊長分別從 1到n 進行判斷。

方法二:確定一斜邊和一直角邊。直角邊必定小於斜邊,從而減少一部分冗餘。

方法三:確定一斜邊和一直角邊,同時確定另一直角邊的範圍 必定小於等於 sqrt(斜邊方-直角邊平方)的整數部分。 (該邊從小到大取值,超過一定只就不再可能滿足 a2+b2=c2 b,c固定)

#include #include using namespace std;

int main()

{cout<<"input the num:";

int n,length(0);

int longsquart(0),rectsquart(0);

cin>>n;

for (int i=1;i<=n;i++)//斜邊

{longsquart=i*i;

for (int j=1;j

判斷素數的簡單演算法

1 定義法 素數是指只能被1和它本身整除的數。根據定義,只要在2到n 1 n是被判斷的數 中逐一去找有沒有能被它整除的數。有就不是,否則就是。c語言偽 如下 bool isprime int num return true 2 定義法改進 若所給定的數num不是素數,那麼存在不等於 1 的兩個約數x...

通過 JS 判斷頁面是否有滾動條的簡單方法

最近在寫外掛程式的過程中,需要使用 js 判斷是否有滾動條,搜了一下,大致方法都差不多,但都有些囉嗦,不夠簡潔。最終通過參考不同方法,寫了乙個比較簡單的方法。在判斷滾動條的同時也需要計算滾動條的寬度,通過本篇文章一併與大家分享。判斷滾動條的需求在彈窗外掛程式中用的較多,因為彈窗大多會新增overfl...

菜鳥學演算法 簡單的交換和最大公約數演算法入門篇

工作之後我們大部分的時間實在研究如何如何學習一門語言 如何如何掌握一門技術,但是作為程式設計的本質 資料結構和演算法 我們慢慢的忽略了 工作後的很多程式設計師真的沒有大學生一樣的時間 去靜下心來去增加自己的底蘊,這是我深有體會的事情當然我這裡指的是和我有累死感覺的人。演算法的本質並不是我們程式設計師...