导航:首页 > 源码编译 > 奇数累加算法

奇数累加算法

发布时间: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

阅读全文

与奇数累加算法相关的资料

热点内容
手中的app如何隐藏 浏览:1001
安卓什么壁纸软件号 浏览:436
java设置内存大小 浏览:434
php循环匹配 浏览:323
技巧pdf 浏览:479
单片机断程序怎么解决 浏览:160
如何制作APP的图片 浏览:506
php大小排序 浏览:548
linuxkerberos 浏览:126
暗黑破坏神3如何下载亚洲服务器 浏览:953
linux中ftp服务器地址怎么看 浏览:438
ansys命令流do 浏览:122
单片机6502 浏览:765
自助洗车有什么app 浏览:937
程序员离职率多少 浏览:322
程序员那么可爱电视剧今天没更新 浏览:337
我的世界地形算法 浏览:344
台湾dns的服务器地址云空间 浏览:288
音乐喷泉软件要什么加密狗 浏览:501
androidhttpmime 浏览:774