7-9求交错序列前N项的和
单循环程序设计
7-9求交错序列前N项和
#include<stdio.h>
int main(){
int N = 0;
double sum = 0;//sum记录最终结果,注意不要无脑int
scanf("%d",&N);//输入N值
for(int i=1;i<=N;i++){
double tmp = (double)i / (2*i-1);//注意不要int/int了!
if(i%2 == 0){//如何取余?-->n个一组是规律的话就i%n
sum -= tmp;//开始是减法从1开始,说明第偶数次是减法
// i=1 --> '-'
// i=2 --> '+'
// i=3 --> '-'
// i=4 --> '+'
// i=5 --> '-'
//数学归纳法,i为奇数为-,i为偶数为+
}else{
sum += tmp;//第奇数次是+
}
}
printf("%0.3f",sum);//保留三位小数
return 0;
}
交错符号类型的规律-->必是条件加循环结构【多写几项来观察】
可以从i=1,开始,比较直观
- 条件结构-->当前是一组里的那个condition
- 循环结构-->遍历所有值【n】
- 几个一组?-->得到尾号,用于判断
- 顺序是什么 次1-->? 2-->? 3-->?,找到规律
- 写代码
e.g.
+
-
*
/
+
-
*
/
if(i%4 == ?)
1
2
3
0
--->0
1
2
3
+
-
*
/
--->/
+
-
*
----->if else-if else