作业介绍

我们知道形如abba这样的数字是偶位回文,显然第一个是11,第二个是22,第abc个一定是abccba,那么前N个和只要将1-N每个数字做一个回文处理,然后相加即可

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


int main() {
    int n;
    cin >> n;
    long long ans = 0;
    /**
     * 循环遍历从1到n的每个整数
     */
    for (int i = 1; i <= n; i++) {
        long long a = i, b = 0, c = 1;
        /**
         * 将整数a逆序重排到b中,同时计算c,c是10的幂
         */
        while (a) {
            b = b * 10 + a % 10;
            a /= 10;
            c *= 10;
        }
        /**
         * 生成第i个偶位回文数字x
         */
        long long x = i * c + b;
        /**
         * 将新的数字x累加到总和ans中
         */
        ans += x;
    }
    /**
     * 输出最终的总和ans
     */
    cout << ans;
    return 0;
}


状态
已结束
题目
1
开始时间
2024-12-27 0:00
截止时间
2025-1-4 23:59
可延期
24 小时