CSU 1240 低調,低調。

2022-05-04 04:39:11 字數 686 閱讀 4049

這道題已經做了很久了,加入給足夠大的記憶體,誰都會做。

在乙個數列中找乙個只出現一次的數,第一反應應該是對數列進行「異或」運算,這道題也是如此。兩個相同的數異或結果為0。對於這道題,給出互質的概念,這其中隱藏的資訊就是在給出的數列中多次出現的數隻會出現偶數次,因為尤拉函式的值只會是偶數(n>1)。這道題就不攻自破。

設數列為a,兩個只出現一次的數分別位a,b。首先求出a的總異或值s,找出s的第乙個不為0的二進位制位k,那麼在a,b中只會有乙個數的k位為1,第二次就用s對所有k位為1的數進行異或,得到的結果就是a或者是b。那麼另外的數根據a^b=s進行一次異或運算就能算出另外乙個數了。

#include #include 

#include

intmain()

int t1 =s;

int t2 =s;

int p = 0

;

while((t1&1) == 0

)

for(int i = 0; i < k; i++)

int a1 =t2;

int a2 = s ^a1;

printf(

"%d %d\n

", std::min(a1, a2), std::max(a1, a2));

}return0;

}

view code

1 24學習計畫

1 在我們第乙個課題的基礎上。改寫定時器中斷的內容,做到每隔1s閃爍,再每隔2s閃爍,再隔3s閃爍,然後一直這樣迴圈,其他的led還有示波器都和原來的要求一樣。一遍一遍的對照著led0開始計算led1是不是已經達到了迴圈的要求。1 每隔一秒閃爍 則週期為2 每隔2s閃爍則週期為4 每隔3s閃爍,週期...

12 4 友元函式

類中的私有成員和保護成員是只能類內訪問,但在某些特殊情況,我們希望類外也能訪問,這就要用到友元技術。在類中宣告該函式並在前面加上friend關鍵字,這樣函式就可以暢通無阻地訪問私有和保護成員了。12.4.1 全域性函式做友元 include include using namespace std c...

菜鳥學C Primer 習題1 24

學習c primer中習題1.24的 算是對書中答案的補充吧,令附有一些疑問,留待解決 一 這個 可行無差錯。include include sales item.h int main if i sum 1 item sum book for i 0 i sum i std cout item i ...