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語言中的乘方演算法,C語言乘方運算

魔法師00可可 樓主可以按照這個思路做 用遞迴實現 int function int a a指數的次方 飛貓貓貓貓 int fang int a,int b a是底數,b是指數即a b 這是簡單的寫法,如果底數和指數太大還需要大整數乘法的演算法。return x 栩箭 a b,把b分成整數部分跟不大...

c語言求素數,c語言求素數的演算法

例 判斷m是否素數。n s流程圖 include main 例 求100至200間的全部素數。include main if n 5 0 printf printf 我只說思路,就不寫 了,太麻煩。偷懶 定義乙個變數i,從2開始,到你要求的範圍最大數比如說100為止,定義另乙個變數,j,從2開始,到...