題目:
10以下的自然數中,屬於3和5的倍數的有3,5,6和9,它們之和是23.
找出1000以下的自然數中,屬於3和5的倍數的數字之和。
用窮舉法**如下:
#include int main()
printf("%d以下的自然數中,屬於3和5的倍數的數字之和為%d\n", max, sum);
return 0;
}
這個**遍歷了1到999所有的數字,時間複雜度為θ(n).
容斥原理:
用等差數列的求和公式,很容易求出1000以下3的倍數和5的倍數的和,再減去重複計數的部分,15的倍數的和,即是答案
#include int gauss_way(int n)
int main()
這個**的時間複雜度為θ(1),因為對於任意大的n,計算n以內3或5或15的倍數的和都只需要常數次步驟.
尤拉計畫 3的倍數和5的倍數
如果我們列出10以內所有3或5的倍數,我們將得到3 5 6和9,這些數的和是23。求1000以內所有3或5的倍數的和。將問題分解為求1000以內所有3的倍數之和,以及求1000以內所有5的倍數之和兩個問題,進一步抽象為計算在max以內所有d的倍數之和。事實上max以內所有d的倍數均是公差為d的等差數...
尤拉計畫5(最小倍數)
2520是最小的能夠被1到10整除的數。最小的能夠被1到20整除的正數是多少?分析 實現min num 2520 while true isresult true 用於標記是否是能夠被1到20整除的數 for i in range 1 21 if min num i 0 pass else isre...
尤拉環 尤拉路徑的判定和求法
給定乙個無向圖g,一條路徑經過圖g的每一條邊,且僅經過一次,這條路徑稱為尤拉路徑 eulerian tour 如果尤拉路徑的起始頂點和終點是同一頂點,則稱為尤拉迴路 eulerian circuit 尤拉路徑演算法 無向圖g存在尤拉路徑的充要條件 圖g是連通的,且至多除兩個點外 可以為0個,連線圖不...