關於acm素數題解的思考

2021-12-29 19:47:49 字數 633 閱讀 1690

關於acm素數題解的思考:本來今天晚上大家帶出來是要複習金工實習的,明天上機考試。思來無聊打算做點acm的題。 相信每乙個學過程式設計的都會覺得求乙個數是否是素數是很簡單的,我們當然可以按照定義讓機器自己跑來識別,但是有效率更高的演算法來解決這個問題,下面是今天晚上犯糊塗的主要過程。

我想的優化首先是將範圍縮小的乙個數的一半,但是判斷乙個數是否是素數要從2開始判斷,這就涉及到如果3取一半的話就會被忽略掉,所以要把3考慮進去,同時呢也要考慮到1不是素數。

剛剛開始的時候是這樣想的 既然要考慮到乙個數的一半,那就要從2開始迴圈判斷直到這個數的一半,如果到了一半,那就輸出這個數是素數,提交答案發現,好吧,忽略4了,那就到了一半的同時再判斷一下,提交,還是錯的。通過比對測試發現,原來2是素數啊。 同時在比對過程中我們發現我們可以用python 來寫簡單的測試檔案,然後通過#define local

freopen("data.in","r",stdin);

freopen("data.out","w",stdout);

#endif來對程式進行測試。

如果我們想對1到1000進行測試,我們可以

with open("data.in","wt") as f:

f.write("%d\n"%i)來進行測試。

關於 素數對猜想 的思考

關於 素數對猜想 的思考 題目的意思就是對於輸入乙個給定的數值,找到小於等於它的所有素數,然後在這些素數裡面找到相鄰的兩個數值相差為2的一組數字就是一組 素數對 然後從中遍歷找出所有的素數對就可以了.參考 include include include include using namespace...

關於ACM的思考 大一弱菜的思考

就是因為以太過功利的態度對待acm,那麼就會急於求成,於是乎就出現了浮躁。現在仔細反思了一下,之前學一些演算法就是這樣,因為過於浮躁,然後花了許多的時間才學會。其實為什麼需要那麼久的時間才學會,演算法不好理解,這個拋開不說,為什麼呢?因為演算法難以理解的根源是什麼?其實乙個是基礎知識不夠紮實,另乙個...

對ACM的思考

在我要考慮的是對於乙個簡單問題來說,深入思考是不是必要的。首先,如果把每乙個問題看作自然界規則集合的乙個區域性演化,並且把規則的總數當成有限的,那麼每解決乙個問題,都有概率讓下乙個問題的解決變得輕鬆。另外,規則是分層的,從表觀到本質,許多表象不同的問題本質相同,這樣如果把乙個問題思考得越深,下乙個問...