当前位置: 首页 > article >正文

洛谷P11042 [蓝桥杯 2024 省 Java B] 类斐波那契循环数

像是这种填空题的话,就直接暴力还更加省时间,在本地算完后直接提交答案即可

#include<bits/stdc++.h>
using namespace std;

const int N = 10000000;

bool isnumber(int n) {
	vector<int> a;
	int m = n;
	while (n > 0) {
		a.push_back(n % 10);
		n /= 10;
	}
	reverse(a.begin(), a.end()); // 将数字反转,使得 a[0] 是最高位
	
	int k = a.size();
	while (true) {
		int next = 0;
		for (int i = a.size() - k; i < a.size(); i++) {
			next += a[i];
		}
		if (next == m) {
			return true;
		}
		if (next > m) {
			return false;
		}
		a.push_back(next);
	}
}

int main() {
	int MAX = -1;
	for (int i = 0; i <= N; i++) {
		if (isnumber(i)) {
			MAX = i;
		}
	}
	cout << MAX << endl;
	return 0;
}

对于不确定长度的数组用vector容器,这样可以确保不越界,还有记得多使用一下reverse反转数组,在进制转换中也通过好用,整体的思路是好的,只不过对于数组越界中还是没能够有明确的判断。 

 


http://www.kler.cn/a/552839.html

相关文章:

  • 【Python爬虫(12)】正则表达式:Python爬虫的进阶利刃
  • 嵌入式音视频开发(二)ffmpeg音视频同步
  • 简单工厂模式 (Simple Factory Pattern) 在Spring Boot 中的应用
  • 自动化运维之ansible快速入门
  • 202303 青少年软件编程等级考试C/C++ 三级真题答案及解析(电子学会)
  • SVM对偶问题
  • SpringMVC重定向接口,参数暴露在url中解决方案!RedirectAttributes
  • EasyRTC:智能硬件适配,实现多端音视频互动新突破
  • SpringAI系列 - RAG篇(一) - Embedding Model
  • tcp首尾及总结
  • Socket通讯协议理解及客户端服务器程序流程
  • USART串口协议
  • 区块链钱包开发:探索数字资产管理的未来
  • IOT通道MQTT
  • 在Debian12.9安装ComfyUI--(一)Nvidia GPU环境配置
  • ART光学跟踪系统在汽车制造与设计审核中的实际应用
  • 【算法通关村 Day2】反转链表
  • 【网络编程】网络编程基础:TCP/UDP 协议
  • 学习数据结构(10)栈和队列下+二叉树(堆)上
  • 计算机视觉:神经网络实战之手势识别(附代码)