分析:
求100以内所有相邻奇偶数之积的和
1 2 3 4 5 6 7 8 9 10 11 ...100
即如下:
1*2+3*4+5*6+...
方法一:
(2*1-1) 2*1 + (2*2-1) 2*2 +(2*3-1) 2*3 得出结论:(2n-1)*2n(循环50次)
方法二:
1*2+3*4+...+99*100 得出结论:n*(n+1)(每次跳跃2个步伐i+=2)
#include<stdio.h>
#include<stdlib.h>
//求100以内所有相邻奇偶数之积的和
void fun1()
{
int res = 0;
for(int i=1;i<=50;i++) //循环50次
{
res += (2*i-1)*(2*i);//推理数学公式
printf("%d --> %d\n",i,res);
}
}
//推荐这种,易于理解
void fun2()
{
int res = 0;
for(int i=1;i<100;i+=2) //循环50次 2级2级的跳跃 即输出的是1 3 5 7 9等奇数
{
res += i*(i+1);//推理数学公式 1*2 3*4 5*6 ...
printf("%d --> %d\n",i,res);
}
}
int main()
{
fun1();
fun2();
return 0;
}
//若果for循环没有表达式1和表达式2则等价于while循环