3.回文数(Palindrome.cpp)

输入(Palindrome.in):

第一行是一个整数p,代表游戏进行的局数

接下来p行

每行有两个整数 j,h, 分别是小学姐们想出来的数字。

0 < p <=100

0 <= j <= 1000000

0 < = h <= 1000000

输出(Palindrome.out)

p 行数据

每一行,先输出序号,接着是所有的回文数,以空隔开,如果不存在 则输出“WTF!!!”.

序号后一个冒号和一个空格

样例输入

3
20 12
150 400
300 3000

样例输出

1: WTF!!!
2: 151 161 171 181 191 202 212 222 232 242 252 262 272 282 292 303 313 323 333 343 353 363 373 383 393
3: 303 313 323 333 343 353 363 373 383 393 404 414 424 434 444 454 464 474 484 494 505 515 525 535 545 555 565 575 585 595 606 616 626 636 646 656 666 676 686 696 707 717 727 737 747 757 767 777 787 797 808 818 828 838 848 858 868 878 888 898 909 919 929 939 949 959 969 979 989 999 1001 1111 1221 1331 1441 1551 1661 1771 1881 1991 2002 2112 2222 2332 2442 2552 2662 2772 2882 2992

为了测试方便,以下代码通过键盘输入数据,控制台输出结果,请自行改写成文件读入和文件输出。

 1 #include <iostream>
 2 using namespace std;
 3
 4 int main()
 5 {
 6     int p;
 7     int range[100][2] = { 0 };
 8     cin >> p;
 9     if (p > 0 && p <= 100) {
10         for (int i = 0; i < p; ++i) {
11             int j, h;
12             cin >> j >> h;
13             if ((j >= 0 && j <= 1000000) && (h >= 0 && h <= 1000000)) {
14                 range[i][0] = j;
15                 range[i][1] = h;
16             } else {
17                 cout << "invalid input!";
18                 break;
19             }
20         }
21     } else {
22         cout << "invalid input!";
23     }
24     for (int i = 0; i < p; ++i) {
25         cout << i + 1 << ": ";
26         int j = range[i][0];
27         int h = range[i][1];
28         bool has = false;
29         for (;j <= h; ++j) {
30             int number = j;
31             int a[6] = { 0 };
32             int len = 0;
33             while (number) {
34                 a[len++] = number % 10;
35                 number /= 10;
36             }
37             bool match = true;
38             for (int b = 0, e = len - 1; b <= e; ++b, --e) {
39                 if (a[b] != a[e]) {
40                     match = false;
41                     break;
42                 }
43             }
44             if (match) {
45                 has = true;
46                 cout << j << " ";
47             }
48         }
49         if (!has) {
50             cout << "WTF!!!";
51         }
52         cout << endl;
53     }
54     return 0;
55 }

原文地址:https://www.cnblogs.com/bigbeet/p/9824508.html

时间: 2024-11-06 03:36:57

3.回文数(Palindrome.cpp)的相关文章

9. 回文数 Palindrome Number

Determine whether an integer is a palindrome. Do this without extra space. 题意:判断一个数字是否为回文数 如何取得一个Integer的最高位?假设x = 688答:x / mask. 设置一个和x位数一样的mask,mask = 100,然后用x/mask,表示x里面有几个mask,即是最高位数字. 688里有6个100,即为6. 如何删去一个Integer的最高位?假设x = 688答:x = x % mask. 还是

12--c完数/最大公约数/最小公倍数/素数/回文数

完数/最大公约数/最小公倍数/素数/回文数 2015-04-08 10:33 296人阅读 评论(0) 收藏 举报  分类: C/C++(60)  哈尔滨工业大学(8)  版权声明:本文为博主原创文章,未经博主允许不得转载. 1.一个正整数的因子是所有可以整除它的正整数.而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数.例如6=1+2+3(6的因子是1,2,3). [cpp] view plain copy #include <stdio.h> #include <math.h

回文数问题

问题描述 我在2008年6月写了一篇随笔"可以使用C#语言的在线ACM题库",其中提到 Sphere Onlile Judge (SPOJ) 网站.现在我们来看看该网站 SPOJ Problem Set (classical) 中的"5. The Next Palindrome".这道题目的主要内容如下所示: The Next Palindrome: A positive integer is called a palindrome if its represent

空间复杂度为O(1)的回文数判定算法

空间复杂度为O(1)的回文数判定算法 一.题设 实现空间复杂度为O(1)的回文数判定,输入为整型常数,要求输出判断是否为回文数. 要求格式如下: public boolean isPalindrome(int x) { //Your judge code } 二.概念 回文数(Palindrome)的定义:设n是一任意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数.例如,若n=1234321,则称n为一回文数:但若n=1234567,则n不是回文数. 特点: 1.负数.

LeetCode 9 Palindrome Number (回文数)

翻译 确定一个整数是否是回文数.不能使用额外的空间. 一些提示: 负数能不能是回文数呢?(比如,-1) 如果你想将整数转换成字符串,但要注意限制使用额外的空间. 你也可以考虑翻转一个整数. 然而,如果你已经解决了问题"翻转整数(译者注:LeetCode 第七题), 那么你应该知道翻转的整数可能会造成溢出. 你将如何处理这种情况? 这是一个解决该问题更通用的方法. 原文 Determine whether an integer is a palindrome. Do this without ex

Palindrome Number (回文数)

回文数是指这样的数字:正读和倒读都是一样的.如:595,2332都是回文数,234不是回文数. 注意:负数不是回文数 Determine whether an integer is a palindrome. Do this without extra space. Some hints: Could negative integers be palindromes? (ie, -1) If you are thinking of converting the integer to string

LeetCode:Palindrome Number - 回文数

1.题目名称 Palindrome Number(回文数) 2.题目地址 https://leetcode.com/problems/palindrome-number 3.题目内容 英文:Determine whether an integer is a palindrome. Do this without extra space. 中文:确认一个整数是否是回文数 4.解题方法1 将数字翻转后判断与原数字是否相等,可以参考LeetCode第7题(Reverse Integer)的解题思路.J

leetcode 9 Palindrome Number 回文数

Determine whether an integer is a palindrome. Do this without extra space. click to show spoilers. Some hints: Could negative integers be palindromes? (ie, -1) If you are thinking of converting the integer to string, note the restriction of using ext

LeetCode Problem 9:Palindrome Number回文数

描述:Determine whether an integer is a palindrome. Do this without extra space. Some hints: Could negative integers be palindromes? (ie, -1) If you are thinking of converting the integer to string, note the restriction of using extra space. You could a