关于对称数列的探讨
赵海涛
一、对称数列的实例:
先来看一个编程实例,用程序输出以下图形:
- * *
- * * * *
- * * * * * *
- * * * *
- * *
一般的解题思路是:
先输出前四行,再输出后三行,如下表:
行 数:i 1 2 3 4 前四行 1 2 3 后三行
空格数:j 3 2 1 0 4-i 1 2 3 i
星号数:k 1 3 5 7 2×i-1 5 3 1 7-2×i
代码如下:
#include <stdio.h>
main()
{ int i,j,k;
for(i=1,i<=4,i++)
{ for(j=1,j<=4-i;j++)
printf(" ");
for(k=1,k<=2*i-1,k++)
printf("*");
printf(\n");
}
for(i=1,i<=3,i++)
{ for(j=1,j<=i;j++)
printf(" ");
for(k=1,k<=7-2*i,k++)
printf("*");
printf(\n");
}
}
用对称数列的解题思路,如下表:
行 数: i 1 2 3 4 5 6 7 通项公式
空格数: j 3 2 1 0 1 2 3 | 4-i | 表示绝对值(下同)
星号数: k 1 3 5 7 5 3 1 7-2×|4-i|
代码如下:
#include <stdio.h>
#include <math.h>
main()
{ int i,j,k;
for(i=1,i<=7,i++)
{ for(j=1,j<=abs(4-i);j++)
printf(" ");
for(k=1,k<=7-2*abs(4-i),k++)
printf("*");
printf(\n");
}
二、数列和对称数列的一些基本概念:
数列:按一定的次序排列的一列数叫数列。
数列的项:数列中的每一个数。
通项公式:用项数n表示该数列相应项的公式叫数列的通项公式。
有穷数列:项数有限的数列有穷数列。
无穷数列:项数无限的数列叫无穷数列。
对称数列:一般地,如果一个数列从第一项和最后一项是同一个数,且关于对称数列中项对称,就把这样的数列叫对称数列。如:
1,2,3,4,……998,999,1000,999,998,……4,3,2,1
a(1),a(2),a(3),a(4),……a(n-1),a(n),a(n-1),……,a(4),a(3),a(2),a(1)
等差对称数列:如果一个对称数列从第2项起,每一项与它的前一项的差等于同一个常数,那么这个数列就叫做等差对称数列,这个常数叫做等差对称数列的公差,公差通常用字母d表示。如:
1,3,5,7,…… 97,99,97 …… 7,5,3,1;
2,4,6,8,…… 98,100,98, ……8,4,2,1;
等比对称数列:如果一个对称数列从第2项起,每一项与它的前一项的比等于同一个常数, 那么这个数列就叫做对称等比数列,这个常数叫做等比对称数列的公比,公比用字母q表示。如:
1,3,9,27,81,……,6561,19683 ,6561,……81,27,9,3,1;
2,4,8,16,32,……,2048,4096,2048,……32,16,8,4,2;
三、对称数列的分类:
按数列的对称性来分,可分为对称数列和非对称数列,通常见到的数列都是非对称数列
对称数列分为等差对称数列和等比对称数列。
对称数列按递增或递减的方式的分类:
等差对称数列分为:递增式等差对称数列和递减式等差对称数列
等比对称数列分为:递增式等比对称数列和递减式等比对称数列
四、对称数列的通项公式:
对称数列总的项数个数:用字母s表示
对称数列中项:用字母c表示
等差对称数列公差:用字母d表示
等比对称数列公比:用字母q表示
设,k=(s+1)/2