| 题目名称 | 40. [NOIP 1999]回文数 |
|---|---|
| 输入输出 | huiwen.in/out |
| 难度等级 | ★☆ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 128 MiB |
| 测试数据 | 4 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:260, 提交:771, 通过率:33.72% | ||||
|
|
100 | 0.000 s | 0.00 MiB | Pascal |
|
|
100 | 0.000 s | 0.00 MiB | Pascal |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
| 关于 回文数 的近10条评论(全部评论) | ||||
|---|---|---|---|---|
|
输出impossible骗到25分。
2018-10-09 17:53
14楼
| ||||
|
这题时间限制是10秒???
2018-04-14 19:29
13楼
| ||||
|
两个oj上的无解输出竟然不是同样的。。。因为这个被坑了两回。。。尬
2017-09-06 08:31
12楼
| ||||
|
高精度竟然一遍就过了
2017-06-19 21:42
11楼
| ||||
|
类似于手写高精加吧,莫名感觉写的好爽
| ||||
|
我第一次居然跪在impossible的i的大小写上。。。。。。。
| ||||
|
回复 @超级傲娇的AC酱 :
就是题目给你的进制啊
2017-01-07 17:17
8楼
| ||||
|
这个需要高精度咩?
2016-10-11 18:59
7楼
| ||||
|
一开始忘记几个= W了一次,又忘了输出回文数W了一次,又忘了回文数后换行 W了一次,,,不说什么了,我的正确率。。。
2016-02-18 15:24
6楼
| ||||
|
好吧,没看到16进制要用小写字母。。。。
2015-08-07 11:18
5楼
| ||||
若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。
给定一个 $N$ 进制正整数,把它的各位数字上数字倒过来排列组成一个新数,然后与原数相加,如果是回文数则停止,如果不是,则重复这个操作,直到和为回文数为止。
例如:给定一个十进制数 $56$,将 $56$ 加 $65$(即把 $56$ 从右向左读),得到 $121$ 是一个回文数。
又如:对于十进制数 $87$:
$STEP_1:87+78=165$
$STEP_2:165+561=726$
$STEP_3:726+627=1353$
$STEP_4:1353+3531=4884$
在这里的一步是指进行了一次 $N$ 进制的加法,上例最少用了 $4$ 步得到回文数 $4884$。
写一个程序,给定一个 $N$($2 \le N \le 10$ 或 $N=16$)进制数 $M$($100$ 位之内,$16$ 进制 $10 \sim 15$ 用小写字母 $a \sim f$ 表示),求最少经过几步可以得到回文数。如果在 $30$ 步以内(包含 $30$ 步)不可能得到回文数,则输出 `Impossible!`。
两行,分别是 $N$,$M$。
如果输入文件给定的数据在 $30$ 步以内(包括 $30$ 步)不可能得到回文数,则输出文件只有一行,即输出“impossible”。
否则输出文件为两行。第一行是由输入文件给定数据生成的回文数,第二行是生成该回文数的最少步数。
10 87
4884 4