C語言演算法的問題

時間 2021-09-10 15:05:35

1樓:匿名使用者

演算法一:

用的是等差數列的求和公式,現在簡單推導一下:

s = 1 + 2 + 3 + …… + ns = n +(n-1)+ (n-2)+ …… + 1相加得:

2*s = (n+1)+(n+1)+(n+1)+…… +(n+1)得 s = (n+1)* n/ 2

演算法二和演算法三 都差不多,c語言實現如下

void sum(int n)

2樓:匿名使用者

2和3不是一樣的麼。。。感覺是在忽悠。

演算法三:第1步:將0放在s中; 《--------s用來存放結果

第2步:將1放在n中; 《--------n裡面依次會放入1,2,3,4,5。。(剛開始是1)

第3步:將n加到s中; 《--------s = s+n

第4步:將1加到n中; 《--------n 現在自加了,每次加1

第5步:判斷。若n<100,轉第3步;《----加到99就退出迴圈。輸出s

否則,轉第6步;

第6步:輸出s中的結果,結束。

3樓:爬爬死爬

演算法1第三步:第二步是計算s,第三步是將s輸出到電腦螢幕

演算法2第三步:就是s=s+3具體就是將s自加3再存到s中

演算法3的思想是建立兩個變數n,s,n初始化為1,s初始化為0,s的作用是計算結果,n的作用是從1遍歷到99.第二步是將n加1,就是將n從1取道99,第三步將n加給s,就是計算1-99的和。

4樓:匿名使用者

當n=1時s=s+n=0+1

1加n,n=1+1=2當n=2時 因為n<100所以轉第3步s=s+n=0+1+2

1加n,n=2+1=3當n=3時 因為n<100所以轉第3步s=s+n=0+1+2+3

.......................................

1加n,n=98+1=99當n=99時 因為n<100所以轉第3步s=0+1+2+.........+99

1加n,n=99+1=100當n=100時 因為n不小於100所以轉第6步

輸出s=0+1+2+.........+99中的結果

5樓:道生天地

n每次加1從1加到99,s每次加n,共加99次,不就是1+2+3+4+```+99嗎?

6樓:匿名使用者

天啊.........i am dead....

c語言演算法,程式設計 C語言與演算法

這個是函式遞迴呼叫的問題。輸入的是n 5,在程式裡就會分別呼叫fun 5 fun 4 fun 3 fun 2 fun 1 當n 0時不滿足 n 0 的條件,停止遞迴呼叫。把得到的結果依次往回推,先從fun 1 開始,i 1滿足i n,執行一次for迴圈,輸出結果1之後換行 在執行fun 2 執行2次...

分佈估計演算法求解0 1揹包問題演算法的C語言程式

思路是 1 先將所有東西按價值和重量的比值 價重比 從大到小排列。這裡我用的氣泡排序。2 將價重比大的先放到揹包裡。直到揹包不能再放為止。此時 就是最大的。你應該能看懂。include include include define limit 100 define tn 20 typedef str...

矩陣演算法,用C語言,一個矩陣演算法,用C 語言

這是螺旋矩陣,方法 getspiralmatrix 引數row 矩陣的大小 任意正整數 樓主的問題,分別輸入 1,3,5即可列印出來。下面的思路就是先定位到矩陣 然後順時針方向旋 static void main string args console.writeline console.read ...