简单的小题集(七)

文章目录


一、斐波那契数列

大学学 C 语言的时候,老师都少不了讲斐波那契数列,什么递归、递推、还有

矩阵幂,反正方法多的是,不过今天这道题咱们稍微改变一下,毕竟直接写斐波那契数列

是小学生做的事,太 LOW 了,想证明你 tql,那就把我改编的这道 AC 吧:

斐波那契数列:1,1,2,3,5,8,13,21,34...,现在给你一个 n,让你求出 f(n)/f(n+1)的值,注意

啦,要求输出的值保留小数点后 8 位

cpp 复制代码
#include <stdio.h>
#include <stdlib.h>
#include <bigint.h>
BigInteger f[10000];
BigInteger fibo(int n){
 if(n<=1) return BigInteger("1");
 if(f[n].isInitialized()) return f[n];
 f[n] = fibo(n-1) + fibo(n-2);
 return f[n]; 
}
int main(){
 int n;
 scanf("%d", &n);
 
 BigInteger a = fibo(n);
 BigInteger b = fibo(n+1);
 
 BigInteger result = a/b;
 printf("%.8f", result.toDouble());
 return 0;
}

二、皮皮小南遭不住

皮皮的小南又出现了,估计大家对他仍记忆犹存,上次确实给大家坑的够呛,

哈哈,对不起,这家伙就是不肯走,他又来了,最近小南压力还真不小,这不放学了,一

个人边走还边在嘴里唠叨着:"这什么玄学复杂度的题,一个人压根顶不住好吧!","顶不

住?不是还有我吗?",这时小浪从小南身后出现了,小南:"矣,怎么今天就你一个?浪 G

天涯不成功?要不要一起堕落?"。小浪:"算了吧,什么题把你愁成这样呀,来来,分享一

下"。小南从书包拿出一张纸,题目是这样的:

小 C 是一位可爱并且很爱学习的小女孩。但是数学不太好,并且对数字十分不敏感,可是

她又很想学好数学,这天她碰到一道这样的题:有一个 N * N 的格子, 每个格子中都有一

个小于 10 的非负整数。聪明的你可以在这 NN 的格子中移动。 如果它当前在(x,y)格
子中,它可以移动到(x + 1,y),(x,y + 1),(x-1,y),(x,y-1)格子中。但你的一切
操作都必须在这 N
N 的格子内操作。

你可以从 N*N 方格中的任何格子开始,采取上下左右方式任意移动,并且它可以停在方格

中的任何位置。我们按顺序连接这些走过格子中的数字以获得幸运数。例如,你经过了 3

个格子,这 3 个格子的数字依次是 5,2 和 0,则幸运数为 520.所有幸运数都是非负整数,并

且生成的幸运数是不包含前导 0 的。

通过小 C 的一波操作,得到了很多的幸运数。现在她想知道她无法获得的最小幸运数是多

少?

cpp 复制代码
#include <stdio.h>
int matrix[N][N]; // N*N 矩阵
int visited[N][N]; 
int minlucky = 0; // 最小幸运数
int n; // 矩阵大小
void dfs(int x, int y, int curNum){
if(visited[x][y]) return;
 visited[x][y] = 1;
 
 curNum = curNum * 10 + matrix[x][y];
 
 if(curNum >= minlucky)
 minlucky = curNum + 1;
 
 dfs(x+1,y,curNum);
 dfs(x,y+1,curNum); 
 dfs(x-1,y,curNum);
 dfs(x,y-1,curNum); 
}
int main(){
 scanf("%d", &n);
 
 for(int i=0; i<n; i++)
 for(int j=0; j<n; j++)
 scanf("%d", &matrix[i][j]);
 
 dfs(0,0,0);
 
 printf("%d", minlucky);
 return 0;
}
相关推荐
LNTON羚通4 小时前
摄像机视频分析软件下载LiteAIServer视频智能分析平台玩手机打电话检测算法技术的实现
算法·目标检测·音视频·监控·视频监控
哭泣的眼泪4085 小时前
解析粗糙度仪在工业制造及材料科学和建筑工程领域的重要性
python·算法·django·virtualenv·pygame
IT古董6 小时前
【机器学习】机器学习中用到的高等数学知识-8. 图论 (Graph Theory)
人工智能·机器学习·图论
Microsoft Word6 小时前
c++基础语法
开发语言·c++·算法
天才在此6 小时前
汽车加油行驶问题-动态规划算法(已在洛谷AC)
算法·动态规划
莫叫石榴姐7 小时前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
茶猫_8 小时前
力扣面试题 - 25 二进制数转字符串
c语言·算法·leetcode·职场和发展
肥猪猪爸10 小时前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
readmancynn10 小时前
二分基本实现
数据结构·算法
萝卜兽编程10 小时前
优先级队列
c++·算法