简单的小题集(七)

文章目录


一、斐波那契数列

大学学 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;
}
相关推荐
在下雨59925 分钟前
项目讲解1
开发语言·数据结构·c++·算法·单例模式
Jayyih33 分钟前
嵌入式系统学习Day36(简单的网页制作)
学习·算法
脑洞代码1 小时前
20250909的学习笔记
算法
Christo31 小时前
TFS-2003《A Contribution to Convergence Theory of Fuzzy c-Means and Derivatives》
人工智能·算法·机器学习
黑菜钟1 小时前
代码随想录第七天|● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 18.四数之和
c++·算法·leetcode
Yingjun Mo1 小时前
1. 统计推断-ALMOND收敛性分析
人工智能·算法·机器学习
海梨花1 小时前
CSP认证练习题目推荐 (1)
算法·深度优先·csp
天上的光2 小时前
大模型——剪枝、量化、蒸馏、二值化
算法·机器学习·剪枝
pzx_0012 小时前
【LeetCode】14. 最长公共前缀
算法·leetcode·职场和发展
self_myth2 小时前
算法与数据结构实战技巧:从复杂度分析到数学优化
算法