SoftExam程式的後續2006 07 11

2021-04-08 15:50:52 字數 864 閱讀 2464

十分遺憾,1個月後我才再次在這裡寫東西.這其中經歷了考試,世界盃,電腦修理,各種苦辣酸甜都在裡面.幸好現在放假了,什麼都不說了,開始吧.

這是第一集"softexam程式"的續集(一集也有續集?...)關於一些此類問題的兩個程式,不是原創,是收集到的.

a非遞迴的程式:這是在看到問題的地方的答案,說起來還是非遞迴的程式更加有趣一點...

#define n 100

int a[n],r[n];

void nd(int n)

}else

使用時候要先將要計算的數賦給a[0](好土氣的方法),例如:

a[0]=4;

nd(a[0]);

其本質思想是:仍然將其計算的過程放到a中,把減剩下需要近一步減的放到r中(可以有0)

其過程似乎是乙個回溯,一直減小,直到1再回溯將遇到的第乙個不為1的數減1,再一步步的減小.

遺憾的是這程式不是我寫的,看來解決乙個演算法問題還是要先多做幾次人工的試驗,充分了解了以後再開始寫.

b計算有多少種分解方法的程式:這是我在王曉東的演算法教材上看到的例子(這廝在n個不同的出版社出了n本完全相同演算法教材,而且還沒地方找答案去),非常典型的遞迴程式.

#include

#include

int q(int n,int m){

if((n<1)||(m<1)) return 0;

if((n==1)||(m==1)) return 1;

if(n道理很簡單,把n分解成最大不大於m的和形式有多少種方法,最普遍的方法為分兩個步驟:n分解為不大於m-1的種類數加上確定第乙個為m的分解的種類數.當然還要包括一些特殊情況.

模擬卷子上還有遞迴程式的解法,但是錯誤的,我也懶得改了,至少還有我那個遞迴程式. 

移相器的後續問題

1 討論用dac輸出方波與普通io通過翻轉電平輸出方波的延時誤差 dac延時問題 stm32的dac轉換時間是 如果輸入資料變化最大,即從0x3ff變為0,或從0變為0x3ff,則最多需要4us時間 如果輸入資料變化最小,即只有乙個數字量的變化,則最多需要1us時間。簡單計算得1khz方波延時誤差約...

迴圈的後續章節。

迴圈的巢狀 乙個迴圈體內又包含另乙個完整的迴圈結構,成為迴圈的巢狀。內嵌的迴圈中還可以巢狀迴圈,就是多層迴圈。break 用break語句提前終止迴圈,用break語句可以使流程跳出switch結構,繼續執行switch語句下面乙個語句。continue 有時並不希望終止整個迴圈的操作,而只希望提前...

離散化的後續

慣例mark大神的部落格 bzoj3289 mato的檔案管理 線段樹求逆序對 莫隊,但是資料量50000卻沒有給出範圍,既然求逆序對,那麼我們關注的只是資料之間的相對大小,此時我們可以把這50000個資料進行簡化.嗯看大神的部落格就明白了不需要多解釋什麼了.下面是部落格中未授權擷取的大神的 板子....