UVALive 2889 (数学)

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

题意:求第n大的回文数字.

截取对称中心前面的那一段数字,从大到小依次就是1,2,3......11,12,13......,100,101

而以某个数字为对称中心前一段的数字共有两种,比如13就有131和1331.

所以判断一下是哪一种就好了.

#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <iostream>
#include <map>
#include <set>
#include <vector>
#include <queue>
using namespace std;

long long n;

void solve () {
    long long cur = 1, cnt = n;
    while (cnt > 2*(cur*10-cur)) cnt -= 2*(cur*10-cur), cur *= 10;
    bool flag = (cnt <= cur*10-cur);
    if (!flag) cnt -= (cur*10-cur);
    cur = cur+cnt-1;
    cout << cur;
    if (flag) cur /= 10;
    while (cur) {
        cout << cur%10;
        cur /= 10;
    }
    cout << "\n";
}

int main () {
    while (cin >> n && n) {
        solve ();
    }
    return 0;
}


UVALive 2889(回文数字) 题意:给定i,输出第i个回文数字。 分析:1,2,3,4,……,9------------------------------------------------------------------------------------------9个    11,12,13,14,……,19-----------------------------------------------... 阅读详情

相关推荐

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

1129: 第N个回文数 UVALive 2889

http://begin.lydsy.com/JudgeOnline/problem.php?id=1129和大佬不一样,用数数做的。 首先 任何一个回文数,都可以分解成两位组合1位的形式。然后从边缘递归。 注意最外层要从1开始。 然后 就开始数数。 比如5 位数等于2位数乘上3位数的个数。这里的三位数是包含010 000的 。 然后 这样数着进行递归。 用p记录没有限制的数量,d记录

Panda!!!!!! 537

Palindrome Numbers(UVALive 2889

长度为2*i+1和2*(i+1)的数的个数都为9*10^i,由此可知N的长度和N为该长度的第几个数。

TryMyEdge 507

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

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 | 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

UVALive 2889 第n个回文数字

#include<bits/stdc++.h> #define ll long long #define ull unsigned long long #define all(x) (x).begin(),(x).end() using namespace std; /*** * 链接:https://vjudge.net/problem/UVALive-2889 * 求...

布呗之路 317

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

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

LA2889

这里我想要说下对于公式的理解。其实这个公式是根据排列组合算出来的 k位数字组成的回文数个数为       f(k)=9*10^((k-1)/2) 为什么会有这个公式呢:因为我们在最高位的时候对于回文数只有9种可能选(0不能选嘛)。那么最低位同时也不能为0(回文嘛)那么剩下k-2位,对于其他位的数我就有每位10种选择。由于是回文那么我只要算到其他的k-2的一半就可一了。。由于此处最高位已经拿出来

lyc 806

POJ 2402 Palindrome Numbers(LA 2889) 回文数

POJ:http://poj.org/problem?id=2402 LA:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=890 题目大意: 回文数从小到大排列为:1, 2, 3, 4, 5, 6,...

weixin_30340353的博客 176

Codeforces 622F (拉格朗日插值 费马小定理)

做这个题之前需要知道一些知识: 拉格朗日插值:n-1次多项式可以用n个点唯一确定,插值公式是: 费马小定理:a^(p-1)≡1(如果p是素数),也就是说模p时a和a^(p-2)互为逆元 关于模:

morejarphone~ 2172

HDU 5686 (斐波那契数列 高精度)

Problem B Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 222    Accepted Submission(s): 54 Problem Description   度熊面前有一个全是由1构成的字符串

morejarphone~ 1729

HDU 5970 (循环节)

题目链接:点击这里打个表可以发现对于给定的j,f(i,j)的循环节长度为j。有了这个性质以后可以处理不向下取整的。题目需要向下取整,谕示考虑f(i,j)的含义,它表示辗转相除次数c和gcd(i,j)的平方的乘积。因为(i+kj, j)(i,j)的辗转次数相等,所以考虑延长循环节,把cj看成是循环节,这样的话就只需要求出循环节内部分,并且重复循环节就行了。在两个循环节之间是等差数列,瞎搞搞就出来了。

morejarphone~ 1106

HDU 5685 (前缀+逆元 水~)

Problem A Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 300    Accepted Submission(s): 83 Problem Description 度熊手上有一本字典存储了大量的单词,有

morejarphone~ 924

codeforces 603B (数学)

B. Moodular Arithmetic time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output As behooves any intelligent schoolboy

morejarphone~ 802

HDU 4919 (数学推导)

题目链接:点击这里1.当n=2k+1n=2k+1:f(n)=∑i=1n−1i⊗(n−i)=2∑i=1k2i⊗(n−2i)=2∑i=1k2i⊗(2k−2i+1)=4∑i=1ki⊗(k−i)+2k=4f(k)+6k \begin{align} f(n)&=\sum_{i=1}^{n-1}i\otimes(n-i)\\ &=2\sum_{i=1}^{k}2i\otimes (n-2i)\\ &=2\s

morejarphone~ 795

UVALive 6835 (简单推导)

题意是一个球,在重力加速度为1的环境下,无能量损失,从起点弹到重点.中间有n张网,告诉你每张网和起点的距离和高度,限制碰撞的最大次数,求出最小的出射速度. 题面给了一大堆公式然而并没有什么卵用,直接根据输入说明YY题意. 首先需要发现对于给定长度从一端到另一端需要的最小的速度是出射方向为45度的速度,高中物理就能推出来~然后只需要写两个函数,第一个用来解决弹i次的最小速度,第二个用来解决经过(

morejarphone~ 747
上一篇: UVALive 3887 (暴力 并查集)
下一篇: UVA 11609 (组合数学)
morejarphone
博客等级 码龄12年 54粉丝 462原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值