而原数列的未知项就是这两个简单数列的未知项

图片 1图片 2

问题描述

一、简单的与等比数列相关函数的化简

很多考生无论是在国考行测题目中还是在省考行测题目中都会选择放弃数量关系以及资料分析的题目,然而在数量关系中的数字推理题目,考生只要掌握了正确的做题顺序和基本的解题思路,就会很容易的在极短的时间和用很少的精力解出3-4数字推理题目。下面华图公务员[微博]考试研究中心就为广大考生介绍数字推理题目的基本做题技巧。

在公务员行测考试的数字推理部分有一部分题目可以采用乘法拆分来求解,所谓乘法拆分就是原数列可以拆成两个简单的有规律的数列相乘,从而可以容易求出两个简单数列的未知项,而原数列的未知项就是这两个简单数列的未知项相乘。因此巧妙运用乘法拆分可以大大简化运算,快速判断答案选项。

问题描述幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。首先从1开始写出自然数1,2,3,4,5,6,....1 就是第一个幸运数。我们从2这个数开始。把所有序号能被2整除的项删除,变为:1 _ 3 _ 5 _ 7 _ 9 ....把它们缩紧,重新记序,为:1 3 5 7 9 .... 。这时,3为第2个幸运数,然后把所有能被3整除的序号位置的数删去。注意,是序号位置,不是那个数本身能否被3整除!! 删除的应该是5,11, 17, ...此时7为第3个幸运数,然后再删去序号位置能被7整除的(19,39,...)最后剩下的序列类似:1, 3, 7, 9, 13, 15, 21, 25, 31, 33, 37, 43, 49, 51, 63, 67, 69, 73, 75, 79, ...输入格式输入两个正整数m n, 用空格分开 (m < n < 1000*1000)输出格式程序输出 位于m和n之间的幸运数的个数。样例输入11 20样例输出15样例输入230 69样例输出28

无所事事的Cinzo决定用坐电梯的方式来打发时间。他住在一个N层的房子中,最底下为1层,最高处为N层。他从他家所在的第A层出发,并决定连续坐K次电梯。

对于递推式f(n)=mf(n-1)+k:

一、特征明显的数列

乘法拆分可以将原数列拆分为四种类型,即等差数列、等比数列、幂次数列、质数数列分别和一个简单的数列相乘。

题目描述

但由于迷信的缘故,B在中国被视为是不幸运的,所以整座楼并没有第B层。也是因为这个原因,如果Cinzo想从第X层出发到达第Y层,他希望Y能满足|X - Y| < |X

1.显然,存在一个实数c使其化成f(n)+c=m(f(n-1)+c)的形式,展开后我们有:f(n)=mf(n-1)+(m-1)*c;

(一)分数数列

1.提取等差数列

代码如下:

  • B|。

2.显然其中(m-1)*c=k,进而可得c=k/(m-1);

什么是分数数列?当一个数列中大部分数为分数时这个数列就是分数数列。在数字推理题目中,考生一眼就可以看出,整个5道数字推理题目中是否有分数数列。如果有分数数列,那么首先的方法就是反约分法,反约分的突破口就是整个数列中与数列变化趋势不符的分数。如果题目中有几分之一的分数,首先想到负幂次。如果数列中有少数分数,想到的解题方法就是多级数列的做商或递推数列的做商。

提取等差数列主要有以下三种情形,但并不一定是固定的首项。

图片 3图片 4

每次电梯到达后,Cinzo都会将电梯所到的层数记录在小本子上;K次电梯都坐完后,他将得到一个长度为K的数列。现在,Cinzo想知道,他可能写出多少个不同的数列?

3.那么构造等比数列就很简单了:我们建立一个新的数列A,使A(n)=f(n)+c,那么显然数列A为等比数列,公比为m;

例: 1/3,4/7,7/11,2/3,13/19( )

①1,2,3,4,5,…

 1 #include <stdio.h>  2 #define MAX 1000*1000 3  4 int m,n; 5 int a[MAX+1]; 6  7 void dp(int luck) 8 { 9     int i,cur = luck;10     if (a[luck] > n)11         return ;12     13     for (i=luck ; i<n ; i++) //遍历获取幸运数数列 14     {15         if (i%a[luck] != 0)//序号位置是否能被幸运数整除 16             a[cur++] = a[i];17     }18     dp(luck+1);19     20     return ;21 }22 23 24 int main(void)25 {26     int i,ans;27     scanf("%d%d",&m,&n);28     for (i=1 ; i<=n ; i++)29         a[i] = i*2-1;30     31     dp(2);    //以第二个幸运数开始 32     ans = 0;33     for (i=1 ; a[i]<n ; i++)34     {35         if (a[i]>m)36             ans ++;37     }38         39     printf("%d",ans);40     return 0;41 }

 

二、相关题目

A. 16/23 B. 16/21

②1,3,5,7,9,…

C解法

输入格式(lift.in)

1.[洛谷P1760]通天之汉诺塔

C. 18/21 D.17/21

③2,4,6,8,10…

解题思路:

一行四个整数,N,A,B,K,分别代表电梯的层数,Cinzo最初的位置,不幸运的层数,以及乘坐电梯的次数。

Description

在你的帮助下,小A成功收集到了宝贵的数据,他终于来到了传说中连接通天路的通天山。但是这距离通天路仍然有一段距离,但是小A突然发现他没有地图!!!但是幸运的是,他在山脚下发现了一个宝箱。根据经验判断(小A有经验吗?),地图应该就在其中!在宝箱上,有三根柱子以及在一根柱子上的n个圆盘。小A在经过很长时间判断后,觉得这就是hanoi塔!(这都要琢磨)。但是移动是需要时间的,所以小A必须要通过制造延寿药水来完成这项任务。现在,他请你告诉他需要多少步完成,以便他造足够的延寿药水.。时限1s。
输入格式:一个数n,表示有n个圆盘(n<=1500)
输出格式:一个数s,表示需要s步。

解析:首先,此数列很明显是一个分数数列,然后观察数列的特征,考生可以发现2/3与整个数列的增长趋势不符,那么2/3就是做这道题的突破口,利用反约分,分子分母同乘以4,分子数列为:1,4,7,8,13;分母数列为:3,7,11,12,19两个数列都没有明显的推理关系。那么2/3的分子和分母再同乘以5,则分子数列为:1,4,7,10,13;分母数列为:3,7,11,15,19,考生可以看出分子数列是以公差为3的等差数列,则分子数列的下一项为16,同样,考生也可以看出分母数列是以公差为4的等差数列,则分母数列的下一项为23,因此下一项的分数为16/23,选A项。

例题:

首先记录幸运数2时的数列,然后遍历2~n的幸运数,获得最终的数列

 

Solution

1.显然这是一个高精计算的的普通汉诺塔,递推肯定是不能用的,那么我们来看递推式:f(n)=2f(n-1)+1;
2.在递推式两侧同时加上实数a=1,可得f(n)+1=2(f(n-1)+1);
3.建立等比数列A,使A(n)=f(n)+1,因为只有一块圆盘时需要移动的步数为1,数列的公比为2,所以A(n)=2^n;
4.高精度计算数列A,输出f(n)=A(n)-1;

#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
int a[10000005]={0,1,0},len=1,x;     //因为步数可能会很大所以记录步数的数组a开得大一些,注意A(1)=1;
void g(){
    x=0;
    for(int i=1;i<=len;i++)a[i]*=2;   //计算
    for(int i=1;i<=len;i++)
    {
        a[i]+=x;
        x=a[i]/10;                          //进位;
        a[i]%=10;
    }
    if(x>0){
        len++;
        a[len]=x;                       //维护长度;
    }
}

int main(){
    int n,i,j,k;
    scanf("%d",&n);
    for(i=1;i<=n;++i) g();
    a[1]-=1;                                   //末尾减一,不用担心不够减:wjh大佬的证明:显然2的正整数次幂中末位不会出现奇数,所以不会出现5,且2的正整数次幂的末位>=2;
    for(i=len;i>0;--i)printf("%d",a[i]);
    printf("n");
    return 0;
}

(二)多重数列

【1】(江西2008-26)3,16,45,96,(),288

最后查找在区间[m,n]的数字个数。

输出格式(lift.out)

2.[noip1999]Hanoi双塔问题

多重数列的特征相对于其它数列也是比较明显的,其显著特征就是数列包含的项比较多,一般包括选项在内能达到8项或者数列中有两个括号。多级数列的主要方法有两种,第一种事交叉,第二种是分组。

A.105B.145C.175D.195

本文由必威发布于必威-编程,转载请注明出处:而原数列的未知项就是这两个简单数列的未知项

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。