当前位置: 首页 > 编程笔记 >

C ++中最大的回文产品

钮实
2023-03-14
本文向大家介绍C ++中最大的回文产品,包括了C ++中最大的回文产品的使用技巧和注意事项,需要的朋友参考一下

假设我们输入了n,我们必须找到可以使用两个n位数相乘得到的最大回文。由于数字非常大,我们可以使用1337执行mod。因此,如果输入为2,则答案将为987,987 =(99 * 91)mod 1337 = 9009 mod 1337 = 987。

为了解决这个问题,我们将遵循以下步骤-

  • maxVal:= 10 ^ n – 1

  • minVal:= maxVal / 10

  • 对于初始化h:= maxVal,当h> minVal时,更新(将h减1),执行-

    • x:=左+右

    • 对于初始化i:= maxVal,当i> minVal时,更新(将i减1),执行-

    • 返回x mod 1337

    • 循环中出来

    • 如果i <x / i,则-

    • 如果x mod i等于0,则-

    • 左:= h,右:= 0

    • 对于初始化i:= h,当i> 0时,更新right =右* 10 + i mod 10,左:=左* 10,i:= i / 10,-

    • 返回9

    让我们看下面的实现以更好地理解-

    示例

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long int lli;
    class Solution {
    public:
       int largestPalindrome(int n) {
          int maxVal = pow(10, n) - 1;
          int minVal = maxVal / 10;
          for(int h = maxVal; h > minVal; h--){
             lli left = h;
             lli right = 0;
             for(lli i = h; i > 0; right = right * 10 + i % 10, left*= 10, i/= 10);
             lli x = left + right;
             for(int i = maxVal; i > minVal; i--){
                if(i < x / i) break;
                if(x % i == 0) return x % 1337;
             }
          }
          return 9;
       }
    };
    main(){
       Solution ob;
       cout << (ob.largestPalindrome(3));
    }

    输入值

    3

    输出结果

    123
     类似资料:
    • 本文向大家介绍C ++中未知给定产品的最大GCD,包括了C ++中未知给定产品的最大GCD的使用技巧和注意事项,需要的朋友参考一下 假设我们有两个整数N和P。P是N个未知整数的乘积。我们必须找到这些整数的GCD。可能有不同的整数组,它们将给出相同的结果。在这里,我们将生成GCD,它在所有可能的组中最大。假设N = 3,且P = 24,则不同的组将像{1,1,24},{1,2,12},{1,3,8}

    • 本文向大家介绍C ++中回文排列的最大偶数长度子字符串,包括了C ++中回文排列的最大偶数长度子字符串的使用技巧和注意事项,需要的朋友参考一下 问题陈述 给定一个字符串,任务是找到可以排列成回文式的子字符串的最大长度。 示例 如果输入字符串=“ 5432112356”,则答案为6,因为最大回文子字符串为“ 321123”,其长度为6 算法 如果子字符串的长度为奇数,则无法在最终解决方案中考虑它。

    • 我正在配置服务器上的记录器,以便每天压缩日志。我还需要确保单个日志文件不会变得太大(比如每个文件10MB)。 这两种方法都不起作用,但首先我想解决文件大小的问题。 这是我的log4j。属性文件: 我们使用log4j1.2。17,现在我添加了同一版本的log4j额外功能。 当我测试日志记录时,它会创建任意大文件。我试着用maximumFileSize和MaxFileSize代替MaxFileSize

    • 本文向大家介绍最大产品子阵列| 在C ++中添加了否定产品案例,包括了最大产品子阵列| 在C ++中添加了否定产品案例的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将讨论一个程序来查找具有负乘积情况的最大乘积子数组。 为此,我们将提供一个包含正值和负值的数组。我们的任务是在O(n)时间复杂度内找到子阵列的最大乘积。 示例 输出结果

    • 本文向大家介绍C ++中的最大擦除值,包括了C ++中的最大擦除值的使用技巧和注意事项,需要的朋友参考一下 给定正整数数组,任务是擦除包含所有唯一元素的子数组。擦除子数组所得到的结果等于其元素的总和。 通过删除当前子数组之前或之后的项来返回当前子数组的最大和,我们可以通过仅删除一个子数组来获得最大和。 阵列ARR 被称为是一个子阵列一个如果它形成的连续子序列一个即如果它等于一个[1],A [L +

    • 我正在使用PyCharm社区版2016,我注意到我无法打开大型数据输入文件或日志(20MB)。编辑简单地说“文件XXX太大(大小)”。 不仅如此,似乎没有办法改变限制。官方文档提到了一种增加使用intellisense的最大大小的方法,但根本没有增加可以打开的文件的最大大小。这是真的吗?这真的是一个完全无法打开大型日志的IDE吗?