MT【307】周期数列

(2017浙江省数学竞赛)

设数列$\{a_n\}$满足:$|a_{n+1}-2a_n|=2,|a_n|\le2,n\in N^+$
证明:如果$a_1$为有理数,则从某项后$\{a_n\}$为周期数列.


分析:若$a_1\in Q$由$|a_{n+1}-2a_n|=2$知道$a_n\in Q$. 
设$a_n=\dfrac{q}{p},(p,q)=1$则$a_{n+1}=2a_n\pm2=\dfrac{2q\pm2p}{p}$故$a_n,a_{n+1}$ 在不约分的情况下分母相同.
设$a_1=\dfrac{b_1}{p},(b_1,p)=1$则$a_n=\dfrac{b_n}{p},b_n\in Z$,由已知$|a_n|\le 2$故$-2|p|\le b_n\le 2|p|$,故$a_n$的个数至多$4|p|+1$个,故存在整数$k<l$使得$a_k=a_l$.
故$\{a_n\}$从第$k$项起是周期数列,周期为$T=l-k$

注:这里主要考察一个周期数列的定理:

值域是有限数集的递推数列从某项起是周期数列.

证明:设$a_{n+r}=f(a_{n+r-1},a_{n+r-2},\cdots,a_n),n\in N^*$ 且$\{a_n\}$的值域为$D=\{b_1,b_2,\cdots,b_M\}$
构造数组$(a_1,a_2,\cdots,a_r),(a_2,a_3,\cdots,a_{r+1}),\cdots,(a_n,a_{n+1},\cdots,a_{n+r-1}),\cdots$
显然这些数组至多$M^r$个,由抽屉原理,$M^r+1$个中至少有两个是相等的,
不妨设$(a_N,a_{N+1},\cdots,a_{N+r-1})=(a_{N+T},a_{N+1+T},\cdots,a_{N+r-1+T})$,
从而$a_{N+k+T}=a_{N+k},k=0,1,2,\cdots r-1$.
下面用数学归纳法证明:$n\ge N$时$a_{n+T}=a_n$恒成立
(1)当$n=N,N+1,\cdots N+r-1$时,由上述论述$a_n=a_{n+T}$成立
(2)假设当$n\le k(k\ge N+r-1)$时$a_{n+T}=a_n$成立,
那么$n=k+1$时,$a_{n+1+T}=f(a_{n+T},a_{n-1+T},\cdots,a_{n-r+1+T})=f(a_n,a_{n-1},\cdots,a_{n+r-1})=a_{n+1}$
综上由(1)(2)知对任意$n\ge N,a_{n+T}=a_n$成立.

原文地址:https://www.cnblogs.com/mathstudy/p/10470340.html

时间: 2024-10-16 23:33:44

MT【307】周期数列的相关文章

acm 之fib数列——java

1022. Fib数列 Description 定义Fib数列:1,1,2,3,5,8,13,… 求第N项除以2010的余数 Input Format 输入仅一行,为一个整数N Output Format 输出仅一行,为第N项除以2010的余数 Sample Input 3 Sample Output 2 Limits: 对于70%的数据 N≤1,000,000 对于100%的数据 N≤210,000,000,000 这道题最让人着急的是数太大了,而且不可以使用递归,这种方法会暴栈,但是java

HDU-1005 Number Sequence

Description A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. Given A, B, and n, you are to calculate the value of f(n). Input The input consists of multiple test cases. Each test case contains 3

na 残

题目描述: 对于斐波那锲数列f(0)=0,f(1)=1,....求f(f(n)的值 0<=n<=10^100 给出T组数据,每行一个n 输出n行 f(f(n)) 样例输入: 4 0 1 2 6 输出: 0 1 1 21 思路: 原来菲波那切数列是个纯周期数列,对于每一个模数MOD,它会有一个最小正周期,那么我们可以把这个很大的数n 或者 f(n) 映射到 一个的小区间,然后矩阵快速幂就OK了 关于哪个最小正周期的值,暴力去求就行了. #include<iostream> #incl

MT【206】证明整数数列

已知方程$x^3-x^2-x+1=0$,的三根根为$a,b,c$,若$k_n=\dfrac{a^n-b^n}{a-b}+\dfrac{b^n-c^n}{b-c}+\dfrac{c^n-a^n}{c-a}$ 证明:$\{k_n\}$为整数数列. 提示:注意到$x^3=x^2+x+1$故 $a^{n+1}=a^n+a^{n-1}+a^{n-2}$$b^{n+1}=b^n+b^{n-1}+b^{n-2}$$c^{n+1}=c^n+c^{n-1}+c^{n-2}$从而可得$k^{n+1}=k^n+k^{

MT【53】对数平均做数列放缩

[从最简单的做起]--波利亚 请看下面三道循序渐进不断加细的题. 评:随着右边的不断加细,解决问题的方法也越来越"高端".当然最佳值$ln2$我们可以用相对 容易的方法来证明: $\because ln(2k+1)-ln(2k-1)>\frac{1}{k}$两边$k$从$n+1$取到$2n$得$$ln2>\sum_{k=1}^{n}{\frac{1}{n+k}}$$

MT【311】三角递推数列

已知数列$\{a_n\}$满足$a_1=\dfrac{1}{2},a_{n+1}=\sin\left(\dfrac{\pi}{2}a_n\right),S_n$ 为$\{a_n\}$的前$n$项和,求证:$S_n>n-\dfrac{5}{2}$ 证明:显然$a_n\in(0,1)$故由约旦不等式: $a_{n+1}=\sin\left(\dfrac{\pi}{2}a_n\right)\ge\dfrac{2}{\pi}\cdot(\dfrac{\pi}{2}a_n)=a_n$, 即$a_n$单调递

day11(多线程,唤醒机制,生产消费者模式,多线程的生命周期)

A:进程: 进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. B:线程: 线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程.一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序. C:简而言之: 一个程序运行后至少有一个进程,一个进程中可以包含多个线程 线程实现 实现的两种方式 继承Thread public class MyThread extends Thread{ @Ove

斐波那契数列题型ACing

斐波那契数列 特点:头两项均为1,后面任一项都是其前两项之和. 程序在计算中需要用两个变量存储最近产生的两个序列值,且产生了新数据后,两个变量要更新. 问题1:输出斐波那契数列的前十项. int i,x1,x2,x; x1=1; //头两项都是1 x2=1; printf("%6d%6d",x1,x2); for(i=1;i<=8;i++){ //循环输出后8项 x=x1+x2; //计算新项 printf("%6d",x); x1=x2; //更新x1和x2

实现斐波那契数列的三种方式

首先说说斐波那契数列:从文字上说,费波那西数列由0和1开始,之后的斐波那契系数就由之前的两数相加,数列形式如下:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584,………………在数学上,是以递归的方法来定义:F(0)=0F(1)=1F(n)= F(n-1)+ F(n-2) 实现需求:输入序号n返回得到对应斐波那契数程序实现1——函数迭代 public int fnType1(int n)thro