1樓:個人金融科技理解
語句自己找給思路。
第一種:暴力運算
1.申請2個變數jsum,osum分別放奇數和、偶數和。賦初值0。
2.做個迴圈從1到100,變數用i
2.1 判斷i是否為奇數,是的話jsum=jsum+i,否則osum=osum+i
3.輸出jsum,osum
第二種:推演算法。
由題意有
奇數和=1+3+5+。。。+99=50×(1+99)/2偶數和=2+4+6+。。。+100=50×(2+100)/2直接輸出50×(1+99)/2,50×(2+100)/2兩值如果是求1~n之間的奇數和、偶數和。
n>2則判斷n是否為奇數,如果是則
奇數和=((n+1)/2)*(1+n)/2偶數和=((n+1)/2 -1)*(2+n-1)/2不是則奇數和=(n/2)*(1+n-1)/2偶數和=(n/2)*(2+n)/2
2樓:匿名使用者
我只記的大概寫,這也不是很好的演算法。簡單一點就是了。
for i=1 to 100
for j=1 to i
if i%j=0 then 輸出 i
next j
next i
這種演算法很浪費,有一個好一點的,給忘了。如下再寫for i =1 to 100
for j=1 to 平方根i
if i%j=0 then 輸出i
next j
next i
下面這種是比較好的,只是理解的話自己琢磨一下。
上面那比較容易理解一些就是了。
忘了說下,上面是求質數的,我給看理解錯了。
vb,編寫程式計算1 2100,請高手幫忙糾錯
修改以後的程式如下,已經執行通過,答案正確 private sub form click dim i as integer dim sum as integer for i 1 to 100 sum sum i next i print sum end sub 在for迴圈的內部不能再用i i 1 ...
編寫VB程式,計算1! 2 ,編寫VB程式,計算1! 2 3 4 9 10 的值
九條可憐 function jc a 階乘計算,自定義函式if a 0 then jc 1 規定0 1。數學上的 else i 1 不能等於0,任何數乘以0都等於0,最終答案是0jc 1 不能等於0,任何數乘以0都等於0,最終答案是0while i a 如果i a,那麼執行迴圈體jc jc i 最後...
用while迴圈語句編寫程式,計算1 200之間的所有3的倍
include int main printf n return 0 這個是for語句 比while 語句要好的多 而且很省時 for i 0 to 200 if i mod 3 0 then sum sum inext doif i mod 3 0 then sum sum iwhile i 20...