演算法程式設計題目有沒有,演算法與程式設計有什麼關係

2021-07-22 23:21:43 字數 3429 閱讀 2113

1樓:有呼呼

編寫計算斐波那契(fibonacci)數列的第n項函式fib(n)。

斐波那契數列為:0、1、1、2、3、……,即:

fib(0)=0;

fib(1)=1;

fib(n)=fib(n-1)+fib(n-2) (當n>1時)。

寫成遞迴函式有:

int fib(int n)

一個飼養場引進一隻剛出生的新品種兔子,這種兔子從出生的下一個月開始,每月新生一隻兔子,新生的兔子也如此繁殖。如果所有的兔子都不死去,問到第 12 個月時,該飼養場共有兔子多少隻?

分析: 這是一個典型的遞推問題。我們不妨假設第 1 個月時兔子的只數為 u 1 ,第 2 個月時兔子的只數為 u 2 ,第 3 個月時兔子的只數為 u 3 ,……根據題意,“這種兔子從出生的下一個月開始,每月新生一隻兔子”,則有

u 1 = 1 , u 2 = u 1 + u 1 × 1 = 2 , u 3 = u 2 + u 2 × 1 = 4 ,……

根據這個規律,可以歸納出下面的遞推公式:

u n = u n - 1 × 2 (n ≥ 2)

對應 u n 和 u n - 1 ,定義兩個迭代變數 y 和 x ,可將上面的遞推公式轉換成如下迭代關係:

y=x*2

x=y讓計算機對這個迭代關係重複執行 11 次,就可以算出第 12 個月時的兔子數。參考程式如下:

clsx=1

for i=2 to 12

y=x*2

x=ynext i

print y

end分而治之法

1、分治法的基本思想

程式14-6 快速排序

template

void quicksort(t*a, int n)

while (a < pivot);

do while (a[j] > pivot);

if (i >= j) break; // 未發現交換物件

swap(a, a[j]);

} // 設定p i v o t

a[l] = a[j];

a[j] = pivot;

quicksort(a, l, j-1); // 對左段排序

quicksort(a, j+1, r); // 對右段排序

}【問題】 揹包問題

問題描述:有不同價值、不同重量的物品n件,求從這n件物品中選取一部分物品的選擇方案,使選中物品的總重量不超過指定的限制重量,但選中物品的價值之和最大。

#include

void main()

if(s<=m)

for(i=1;i<=n;i=i+1)

for(i=1,s=0;s#includestruct queue;int bestw = 0 ; // 目前的最優值queue* q; // 活結點佇列queue* lq = null ;queue* fq = null ;int add(int w)q->next = null ;q->weight = w ;if(q->next == null)elsereturn 0 ;}

int isempty()

該函式負責加入活結點else    add(wt); // 不是葉子}

int maxloading(int w, int c, int n)while (true) }}

<

2樓:匿名使用者

poj.org各種有

我是是計算機專業,想問一下學習數學建模到底對程式設計能力或演算法能力有沒有幫助?

3樓:匿名使用者

我之前也是計算機專業的,現在也工作幾年了!就你說的數學到底對程式設計幫助有多大,真的真的不好說,因為工作中真的沒有一到程式設計題,或者演算法是通過某到數學公式解決的,呵呵!據我自己的理解,數學的主要作用是培養人的思維能力,這是潛移默化的,只有你認真學了,好好學了,才能感受到他的作用啊,還是要好好對待學校的基礎課啊,像編譯原理,微機原理,甚至彙編這些,其實工作以後很少會用到,但是還得好好學,他們培養的是你的計算機思維!

真正實用的,工作中用的,你工作以後再學都不晚,學校還是好好把基礎課學好,剛畢業找工作,沒人會問你關於專案啊,實際怎麼用的問題的,就是大公司面試應屆生,也是面試你們課本上的!

4樓:匿名使用者

一件事,用數學的語言表達出來,就是數學建模。一般來說,只能在數學模型建立後,才轉化成計算機語言。

5樓:聲

非常有用,但不常用!

演算法與程式設計有什麼關係?

6樓:查志強

演算法的定義

演算法(algorithm)是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。

不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間複雜度與時間複雜度來衡量。 一個演算法應該具有以下五個重要的特徵:

演算法可以使用自然語言、偽**、流程圖等多種不同的方法來描述。

1、有窮性(finiteness)

演算法的有窮性是指演算法必須能在執行有限個步驟之後終止

2、確切性(difiniteness)

演算法的每一步驟必須有確切的定義;

3、輸入項(input)

一個演算法有0個或多個輸入,以刻畫運算物件的初始情況,所謂0個輸入是指演算法本身定出了初始條件;

4、輸出項(output)

一個演算法有一個或多個輸出,以反映對輸入資料加工後的結果。沒有輸出的演算法是毫無意義的;

5、可行性(effectiveness)

演算法中執行的任何計算步都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成。(也稱之為有效性) 電腦科學家尼克勞斯-沃思曾著過一本著名的書《資料結構十演算法= 程式》,可見演算法在電腦科學界與計算機應用界的地位。

程式設計就是讓計算機為解決某個問題而使用某種程式設計語言編寫程式**,並最終得到結果的過程。為了使計算機能夠理解人的意圖,人類就必須要將需解決的問題的思路、方法、和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算機之間交流的過程就是程式設計。

做演算法的對程式設計要求有多高

程式語言裡的演算法是函式的演算法嗎,程式設計中的演算法是指什麼?

演算法是解決乙個實際問題的有效的步驟 方法。寫程式 函式,依據這種方法進行。比如,排序中的冒泡法,依次比較兩個數,如果他們的順序與要求的順序相反,就互換位置 這句話,就是演算法。定義陣列 變數,用某種程式語言,將這種演算法變成實際可以使用的程式 函式,就是程式設計了。演算法是通用的,本質上與使用哪種...

求魔方的演算法我指的是計算機程式設計演算法最好有

具體做法 方法一 此程式使我按照上面介紹的魔方陣的規律編寫的,不過只能求奇數魔方陣,經過測試可以算到508階 define n 7 include void main if a i j 0 如果該元素為0,繼續執行程式 a i j k else 如果該元素不為0,就說明要填的數的位置已經被佔,則該數...

使用程式語言完成des演算法演示程式

其實你只要再寫個解密的過程看看加密完能不能還原回去就好了。解密過程和加密過程基本一樣,就是使用子金鑰時的順序是倒著的。基於des演算法的cbc演示程式實現 java 基於des演算法的cbc演示程式實現 回java package des import java.io.import java.nio...