leetcode 479. 最大回文数乘积

server/2025/1/23 1:38:59/

题目如下
在这里插入图片描述

看完题目后没有想到取巧的办法所以尝试使用枚举法。
使用枚举法之前先回答两个问题:
1. 如何构造回文串?
2. 如何判断是否存在两个n位整数相乘可以得到这个回文串?
显然n位数与n位数相乘必然是2n位数也就是说最大回文整数长度必然是2n,
所以我们只需要从pow(10,n+1)开始遍历直到pow(10,n) (实际上不用那么多因为这样的回文串很近)然后翻转构造回文串就行。
至于第二个问题也很容易判断一个数是否有除了1的因子只需要判断从这个数到开根号范围内是否存在可以整除的数就行。
所以综合两点可以写出枚举代码。

通过代码

class Solution {
public:int largestPalindrome(int n) {if(n == 1)return 9;  long long s = 9;long long ans;long long t;  for(int i = 1;i < n;i++) {s *= 10;s += 9;}s *= s;//s是n位数与n位数相乘的最大值for(int i = pow(10,n) - 1;i >= pow(10,n - 1);i--) {t = i;ans = i;for(int j = 0;j < n;j++) {ans *= 10;ans += (t % 10);t /= 10;}if(ans <= s) {for(int k = pow(10,n) - 1;k >= sqrt(ans);k--) {if(ans % k == 0)return  ans % 1337;}}} return ans % 1337; 
}
};

在这里插入图片描述

当然我们可以看到n是从1到8所以我们还可以使用打表的手法。
class Solution {
public:int largestPalindrome(int n) {if(n == 1)return 9;if(n == 2)return 987;if(n == 3)return 123;if(n == 4)return 597;if(n == 5)return 677;if(n == 6)return 1218;if(n == 7)return 877;if(n == 8)return 475;return 0;
}
};

在这里插入图片描述


http://www.ppmy.cn/server/160616.html

相关文章

CMake技术细节:解决未定义,提供参数

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…

YOLOv1、YOLOv2、YOLOv3目标检测算法原理与实战第十三天|YOLOv3实战、安装Typora

1.学习哔哩哔哩《YOLOv1、YOLOv2、YOLOv3目标检测算法原理与实战》 炮哥带你学视频链接 第5章 YOLOv3实战 5.1 YOLOv3实战先导 5.2 pycharm与anaconda的安装 之前已经安装过了&#xff0c;见Pytorch框架与经典卷积神经网络与实战第一天|安装PyCharm&Anaconda&#xff0…

PHP语言的文件操作

PHP语言的文件操作 引言 在现代Web开发中&#xff0c;文件操作是一个不可或缺的技能。PHP作为一种广泛使用的服务器端编程语言&#xff0c;提供了丰富的文件操作函数&#xff0c;使得开发人员能够轻松地进行文件创建、读取、写入、删除和修改等操作。本文将深入探讨PHP语言中…

vue3使用音频audio标签

文章目录 一、背景二、页面三、标签介绍四、代码五、代码说明场景1&#xff1a;针对加载固定格式的比如MP3文件&#xff0c;可直接使用\<audio>标签场景2&#xff1a;针对播放告警内容&#xff0c;比如中文或者英文词条情况 一、背景 项目使用vue3&#xff0c;需求针对告…

stm32 L051 adc配置及代码实例解析

一 cude的设置&#xff1a; 1. 接口的基本设置&#xff1a; 2. 参数的设置&#xff1a; 二 代码的逻辑&#xff1a; 1. 上面的直接生成代码&#xff0c;然后使用下面源码即可读到adc的数据&#xff1a; void adc_battery_start(void) {uint32_t ADC_value 0;HAL_ADC_Start(&…

nss刷题3

[SWPUCTF 2022 新生赛]webdog1__start level1&#xff1a; 打开环境后什么也&#xff0c;没有&#xff0c;查看源码&#xff0c;看到第一关是MD5值&#xff0c;要get传参web&#xff0c;然后web的值的MD5和它原来值相等&#xff0c;0e开头的字符在php中都是0&#xff0c;传入…

Spring Boot 3.4.x 和 Micrometer 2.0 的结合 案例 以及使用方法

Spring Boot 3.4.x 和 Micrometer 2.0 的结合&#xff0c;主要是为了更好地进行应用性能监控。Micrometer 是一个应用性能监控工具&#xff0c;它可以与 Spring Boot 集成&#xff0c;提供一个统一的度量系统&#xff0c;并与各种监控系统&#xff08;如 Prometheus, Graphite,…

【鸿蒙】0x02-LiteOS-M基于Qemu RISC-V运行

OpenHarmony LiteOS-M基于Qemu RISC-V运行 系列文章目录更新日志OpenHarmony技术架构OH技术架构OH支持系统类型轻量系统&#xff08;mini system&#xff09;小型系统&#xff08;small system&#xff09;标准系统&#xff08;standard system&#xff09; 简介环境准备安装QE…