最近在面试,遇到过这个题目,不知道要怎么解
能用代码更好,不然直接解也可以
暂时还没写代码,不知道怎么写,没思路
我自己尝试用过减法,加法找规律,好你没规律
效果就是找规律
表头 | 表头 | 表头 | 表头 | 表头 | 表头 | 表头 | 表头 |
---|---|---|---|---|---|---|---|
5 | 12 | 20 | 31 | 47 | 70 | 102 | ? |
把最后那个数补上
古典型数字推理是数字推理的基础。
其题干是一个数列,但是在中间或 两边缺少一项。
应试者需要从已知的各个数字中找到合适的规律,然后计算 未知项的值。在求解这类问题时,通常可以使用如下方法:
1逐差法
2逐商法
3局部分析法
4整体分析法
对于本题,可以采用逐差法,计算过程如下:
题干中数列: 5 12 20 31 47 70 102 (145)
第一次做差: 7 8 11 16 23 32 (43)
第二次做差: 1 3 5 7 9 (11)
可以发现,在两次做差之后,变成了一个等差数列。由此可以推出
本题也可以采用数字的奇偶规律进行快速判断,题干中数字奇偶规 律是:奇偶偶奇奇偶偶,可以推测下一个应该是奇数
#include "stdio.h"
int function(int n) {
if (n == 1 || n == 2) {
return 5 + 7 * (n - 1);
}
return 2 * function(n - 1) - function(n - 2) + 2 * n - 5;
}
int main() {
for (int i = 1; i < 30; printf("%d ", function(i++)));
printf("\n");
return 0;
}
//output : 5 12 20 31 47 70 102 145 201 272 360 467 595 746 922 1125 1357 1620 1916 2247 2615 3022 3470 3961 4497 5080 5712 6395 7131