Palindrome Numbers(UVALive 2889)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

题目链接
长度为2*i+1和2*(i+1)的数的个数都为9*10^i,由此可知N的长度和N为该长度的第几个数。
附上AC代码:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<queue>
#include<set>
#include<vector>
#include<map>
#include<string>
#include<cmath>
#define pq priority_queue
#define Pi acos(-1.0)
#define MAXX 1000000007
using namespace std;
long long ans[30],num[30];
int s[20];
void ok(int x,int y)
{
    y+=num[x];
    int l=-1;
    while(y)
    {
        s[++l]=y%10;
        y/=10;
    }
    for(int i=0;i<x;i++)
    {
        if(i*2<x)
            cout<<s[l-i];
        else
            cout<<s[i-x/2];
    }
    cout<<endl;
}
int main()
{
    ans[1]=9;
    num[1]=0;
    for(int i=2;i<=20;i++)
    {
        if(i%2==0)
        {
            ans[i]=ans[i-1];
            num[i]=num[i-1];
        }
        else
        {
            ans[i]=ans[i-1]*10;
            num[i]=num[i-1]*10+9;
        }
    }
    int now,n;
    while(scanf("%d",&n),n)
    {
        now=1;
        while(n>ans[now])
        {
            n-=ans[now];
            now++;
        }
        ok(now,n);
    }
    return 0;
}

Memory: 0 KB Time: 3 MS
Language: C++ 4.8.2 Result: Accepted

Palindrome Number 回文数 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文... 阅读详情

相关推荐

UVALive 2889(回文数字)

意:给定i,输出第i个回文数字。 分析:1,2,3,4,……,9------------------------------------------------------------------------------------------9个    11,12,13,14,……,19-----------------------------------------------...

Cherrychan2014的博客 199

Palindrome Numbers【模拟】

Palindrome Numbers Time Limit:1000MS Memory Limit:65536K Total Submissions:3948 Accepted:1505 Descr...

苏格拉没有底 298

UVALive 2889 (数学)

意:求第n大的回文数字. 截取对称中心前面的那一段数字,从大到小依次就是1,2,3......11,12,13......,100,101 而以某个数字为对称中心前一段的数字共有两种,比如13就有131和1331. 所以判断一下是哪一种就好了. #include #include #include #include #include #include #include #i

morejarphone~ 575

UVALive2889 Palindrome Numbers(回文数,神级代码....)

目链接(Virtual Judge):http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=33603 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=890

AC_Dreameng 1275

Palindrome Numbers UVALive - 2889

我们可以通过给定的n来判断此回文串的长度,和其与该长度最小的值的差值,我们只需得到回文串的前半部分就可以了。 1位 9   2位 9 3位 9*10 4位 9*10 5位 9*10*10 .。。。。。 例如 n=50 该回文串长度为3  50-18=32,它的前半部分为10+32-1=41  所以该回文串为414 详见代码。 #include #include #includ

熟睡的哲学家的博客 275

UVALive 2889 Palindrome Numbers

Question: A palindrome is a word, number, or phrase that reads the same forwards as backwards. For example, the name “anna” is a palindrome. Numbers can also be palindromes (e.g. 151 or 753357). Addi

peach_yang的博客 351

UVaLIve 2889 | LA 2889 | UVa 12050 - Palindrome Numbers (组合数学)

A palindrome is a word, number, or phrase that reads the same forwards as backwards. For example, the name "anna" is a palindrome. Numbers can also be palindromes (e.g. 151 or 753357). Additionally

zhaosdfa 1123

Palindrome Numbers(LA2889)第n个回文数是?

J - Palindrome Numbers Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Practice UVALive 2889       WA了一版面,我也是醉了,就因为一个编译环境不同。。。。。。   说多了都是泪。  

寻找&星空の孩子 1329

UVALive 2889

A palindrome is a word, number, or phrase that reads the same forwards as backwards. For example,the name “anna” is a palindrome. Numbers can also be palindromes (e.g. 151 or 753357). Additionallynumb

KJBU2 803

UVA 12050 Palindrome Numbers (规律)*

目链接:https://cn.vjudge.net/problem/UVA-12050 #include&lt;bits/stdc++.h&gt; using namespace std; #define debug puts("YES"); #define rep(x,y,z) for(int (x)=(y);(x)&lt;(z);(x)++) #define read(x,y) sca...

满月照亮的路 299

LeetCode_9_Palindrome_numbers_python

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文...

linyuchen_feidian的博客 219

Palindrome Number

1.前言 最近在学习Python教程,学习到关于回文数(palindrome number)的算法, 于是想写一篇关于回文数的博客,放在Math专栏,当做一个知识点,也是作为积累的一步吧。 2.回文数 什么是回文数? A palindromic number or numeral palindrome is a number that remains the same when its d...

czq_g的博客 443

LeetCode - 解笔记 - 9 - Palindrome Number

预览Palindrome NumberSolution 1Solution 2 Palindrome Number Solution 1 既然目中要求尽量不要把整数转换成字符串进行回文判断,那么所有直接查看各位数字的方法尽量都不要使用(思路都是一样的)。从回文数最根本的定义上来看:前一半和后一半的逆序是相同的,那么可以通过把数字逆序进行判断。在C++等语言中,直接逆序任意整数可能会溢出,因此需要只逆序后一半。由于我们尽量不要按照各个数位去检查,因此比较灵活的地方就是要考虑如何判断“过半” 根据上面的分析,

支锦铭的博客 274

C++ - Palindrome Numbers

Palindrome Numbers A palindromic number is a number (such as 626) that remains the same when its digits are reversed. Write a function that returns true if a given number is a palindrome, and false, if it is not. Complete the given function, so that the co

m0_52377535的博客 437

9. Palindrome Number【回文数字】

描述 Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward. 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数 例子 思路 方法1: 把数字变为字符串,然后比较–效率最低 ...

puspos的博客 512

POJ 2402 Palindrome Numbers

Palindrome Numbers Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3568   Accepted: 1333 Description A palindrome is a word, number, or phrase that reads the s

你说我能坚持多久。。 602
上一篇: Crazy tea party(UVALive 2756)
TryMyEdge
博客等级 码龄10年 0粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值