導航:首頁 > 源碼編譯 > 奇數累加演算法

奇數累加演算法

發布時間:2022-07-30 05:11:20

1. 誰能給我一個從1開始的奇數求和的演算法程序 越簡單越好

#include
<stdio.h>
int
main()
{
int
n,
sum
=
0,
i;
scanf("%d",
&n);
for(i
=
1;
i
<=
n;
i
+=
2)

sum
+=i;
printf("sum=%d\n",
sum);
return
0;
}
這個就是直接模擬,比較簡單,或者你也可以用公式求,就首項加尾項*項數再除以2這樣:D

2. 計算且輸出a到b之間的奇數和及個數

一、演算法分析:要計算a b之間所有奇數和,那麼最樸素的演算法可以設計如下: 1、輸入a,b值; 2、循環遍歷a b之間的所有數值,如果為奇數,則累加; 3、輸出結果。二、演算法優化: 1、由於連續奇數之間差值為2,所以可以判斷出第一個奇數,然後依次加2得到所有奇數,將所有奇數累加即可。 2、連續奇數屬於等差數列,所以可以利用等差數列求和公式,更快捷的得到結果。三、參考代碼: 1、原始演算法代碼: #include int add(int a, int b){ int m,n,s=0; if(aint add(int a, int b){ int m,n,s=0; if(aint add(int a, int b){ int m,n,s=0; if(a

3. 連續的數相加有什麼簡便演算法嗎

用第一個數加上最後一個數乘以這批數的總個數,然後除以2,
即:(首+尾)*個數/2
求總個數的方法:
1.連續自然數:用最後一個數減第一個數然後加1(尾-首+1)
2.連續偶數:以2開頭的,最後一個數除以2即:(尾/2);不以2開頭的,先用最後一個數除以2,再用第一個數減2的差除以2,然後把兩個結果相減.即:尾/2-(首-2)/2
3.連續奇數:以一開頭的,用最後一個數加1然後除以2即:(尾+1)/2;不是以1開頭的,先用最後一個數減1的差除以2,然後用第一個數加1的和除以2,接著把兩個結果相減.即:(尾+1)/2-(首-1)/2

4. 求1到100的奇數之和,並畫出流程圖

1到100的奇數之和:

1、常規解法:1+3+5+7+9+.+91+93+95+97+99=

1到100一共50對 奇數一共有25對 偶數也是25對

所以1和99 3和97 5和95 以此類推 一共有25個100

=100×25

=2500

2、編程思路:利用循環變數i 來進行求和,流程圖如下所示,

解:因為i=1,S=0為起始變數,而所求的是連續50個奇數的和,則I是循環變數,增加量為2,而和S由0,再加I即為和的值。

(4)奇數累加演算法擴展閱讀:

利用編程求和

i=0

sum1=0

sum2=0

while i<=100:

if i%2==0:

sum1+=i

else:

sum2+=i

i+=1

print('1-100之間偶數和為:%d' % sum1)

print('1-100之間偶數和為:%d' % sum2)

5. 從1單數加到49怎麼演算法

從1單數加到49計算:
1+3+5+……+49=(1+49)+(3+47)+……+(23+27)+25
=50*12+25
=600+25
=625
從1單數加到49是指從1開始至49的所有單數相加的和。
單數即為奇數。
奇數(英文:odd)數學術語 ,口語中也稱作單數, 整數中,能被2整除的數是偶數,不能被2整除的數是奇數,奇數個位為1,3,5,7,9。偶數可用2k表示,奇數可用2k+1表示,這里k是整數。
1、在整數中,不能被2整除的數叫做奇數。日常生活中,人們通常把奇數叫做單數,它跟偶數是相對的。
2、奇數可以分為:
正奇數:1、3、5、7、9、11、13、15、17、19、21、23、25、27、29、31、33.........
負奇數:-1、-3、-5、-7、-9、-11、-13、-15、-17、-19、-21、-23.-25、-27、-29、-31、-33.........

6. C語言程序求1—100之間的奇數和和偶數和

用oddsum=1+3+5+···+99來計算奇數和;evensum=2+4+6+···+100來計算偶數和。首先設置兩個計數器:oddsum,evensum。其初值為0,利用if···else來判斷奇偶數,來分別累加到計數器。

1,將i的初值置為1;

2,當i增到101時,停止計算。

方法一、

#include <stdio.h>

int main(void)

{ int i = 1, oddsum = 0,evensum = 0; // oddsum奇數和 evensum偶數和

while(i <= 100) // 若i<=100則執行循環體

{ if(i % 2 != 0) // 判斷是不是奇數,是就累加到奇數

oddsum += i;

else // 不是奇數,累加到偶數

evensum += i;

i++; // i的值加1

}

printf("oddsum=%d evensum=%d ",oddsum,evensum);

return 0;

方法二、for語句來實現,效果是一樣的。

#include <stdio.h>

int main(void)

{ int i, oddsum = 0, evensum = 0; // oddsum奇數和 evensum偶數和

for(i = 1; i <= 100; i++) // 若i<=100則執行循環體,i的值加1

{ if(i % 2 != 0) // 判斷是不是奇數,是就累加到奇數

oddsum += i;

else // 不是奇數,累加到偶數

evensum += i;

}

printf("oddsum=%d evensum=%d ", oddsum, evensum);

return 0;

}

(6)奇數累加演算法擴展閱讀:

用C語言來寫出『輸出1到100中的奇數』代碼。

1、奇數,就是除以2之後有餘數的整數,

代碼:

#include<stdio.h>

int main()

{

int i;

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

{

if(i%2 != 0)

{

printf("%d ",i);

}

}

return 0;

}

7. 連續奇數相加的公式

這是一個等差數列,首項是1,公差是2,所以他們相加=(1+2n-1)n/2=n^2

8. 100以內的奇數之和,有沒有什麼簡便的演算法

你好

1+3+5+......+99
=(1+99)+(3+97)+......+(49+51)
=100×(1+49)÷2
=100×50÷2
=2500

【數學輔導團】為您解答,如果本題有什麼不明白可以追問,如果滿意記得採納
祝學習進步

9. 一道c語言的題目:計算a、b之間所有奇數的和

一、演算法分析:

要計算a b之間所有奇數和,那麼最樸素的演算法可以設計如下:

1、輸入a,b值;

2、循環遍歷a b之間的所有數值,如果為奇數,則累加;

3、輸出結果。

二、演算法優化:

1、由於連續奇數之間差值為2,所以可以判斷出第一個奇數,然後依次加2得到所有奇數,將所有奇數累加即可。

2、連續奇數屬於等差數列,所以可以利用等差數列求和公式,更快捷的得到結果。

三、參考代碼:

1、原始演算法代碼:

#include<stdio.h>
intadd(inta,intb)
{
intm,n,s=0;
if(a<b)m=a,n=b;
elsem=b,n=a;//判斷ab大小,增加健壯性。

for(;m<=n;m++)
if(m%2==1)s+=m;//判斷並累加奇數。
returns;//返回結果。
}

intmain()
{
inta,b;
scanf("%d%d",&a,&b);//輸入a,b值。
printf("%d ",add(a,b));//計算並輸出結果。
return0;
}

2、優化演算法1:

#include<stdio.h>
intadd(inta,intb)
{
intm,n,s=0;
if(a<b)m=a,n=b;
elsem=b,n=a;//判斷ab大小,增加健壯性。
if(m%2==0)m+=1;//找到第一個奇數。
for(;m<=n;m+=2)//僅遍歷奇數。
s+=m;//累加奇數。
returns;//返回結果。
}

intmain()
{
inta,b;
scanf("%d%d",&a,&b);//輸入a,b值。
printf("%d ",add(a,b));//計算並輸出結果。
return0;
}

3、優化演算法2:

#include<stdio.h>
intadd(inta,intb)
{
intm,n,s=0;
if(a<b)m=a,n=b;
elsem=b,n=a;//判斷ab大小,增加健壯性。
if(m%2==0)m+=1;//找到第一個奇數。
if(n%2==0)n-=1;//找到最後一個奇數。
s=(m+n)*((n-m)/2+1)/2;//根據等差數列求和公式計算和。
returns;//返回結果。
}

intmain()
{
inta,b;
scanf("%d%d",&a,&b);//輸入a,b值。
printf("%d ",add(a,b));//計算並輸出結果。
return0;
}

10. 奇數1到99相加最簡單的方法是什麼

1=1^2
1+3=4=2^2
1+3+5=9=3^2
1+3+5+7=16=4^2
1+3+5+7+9=25=5^2 前n個奇數的和=n^2
奇數1到99 共50個奇數 =50^2=2500

閱讀全文

與奇數累加演算法相關的資料

熱點內容
信捷加密文件是幹嘛用的 瀏覽:952
su模型下載怎麼解壓不了 瀏覽:182
國際體驗服如何把伺服器改為亞服 瀏覽:880
手機怎麼關閉視頻加密 瀏覽:462
單片機編程存表法 瀏覽:719
富士康伺服器是什麼 瀏覽:452
編譯是二進制嗎 瀏覽:262
小程序賬號登錄源碼 瀏覽:876
雲南社保局app叫什麼 瀏覽:697
美女程序員吃大餐 瀏覽:210
項目二級文件夾建立規則 瀏覽:560
dns使用加密措施嗎 瀏覽:174
php獨立運行 瀏覽:535
手機sh執行命令 瀏覽:731
雲伺服器的角色 瀏覽:737
單片機頻率比例 瀏覽:845
我的世界伺服器如何關閉正版驗證 瀏覽:508
如何查roid伺服器上的 瀏覽:134
安卓手機主板如何撬晶元不掉電 瀏覽:253
php各個框架的優缺點 瀏覽:105