收录日期:2020/10/28 13:47:16 时间:2016/07/25 02:29:34 标签:C语言

题目要求输入 n ,s   
输出大于s的n个数(满足用2到10间进制表示时为回文数)下面是测试的结果,第二个测试没过。但是11难道不是
回文数吗?请高手解答.


Test 1: TEST OK [0.000 secs, 1916 KB]

  > Run 2: Execution error: Your program did not produce an answer
        that was judged as correct. The program stopped at 0.011 seconds;
        it used 1916 KB of memory. 

        Here are the respective outputs:
        ----- our output ---------
        15
        16
        17
        18
        20
        21
        24
        26
        27
        ---- your output ---------
        11
        12
        13
        14
        15
        16
        17
        18
        20
        --------------------------

        ------ Data for Run 2 ------
        9 10 
        ----------------------------
 
不知道在说什么
回文数就是正着读和反着读都是一样的,11肯定是啊,你怎么判断的?看看代码
我也不明白lz的意思

11 固然是10进制下的回文,但12, 13 好像不是吧

可以把题目说细一点吗
引用 3 楼 renzhewh 的回复:
我也不明白lz的意思

11 固然是10进制下的回文,但12, 13 好像不是吧

可以把题目说细一点吗

我的意思是就算12 13 判断错误,11总是十进制下的回文数吧。为什么测评系统的答案里没有11?!
答案里面没有一个是回文数,不知道你在干什么……
 ----- our output ---------
  15
  16
  17
  18
  20
  21
  24
  26
  27

这里也不是回文啊    
题目的意思是什么,可以具体点吗?
不是回文吧
引用 6 楼 renzhewh 的回复:
----- our output ---------
  15
  16
  17
  18
  20
  21
  24
  26
  27

这里也不是回文啊  
题目的意思是什么,可
以具体点吗?
意思就是只要在二到十进制之间任意一种表示法时为回文数,则输出、、
这就奇怪了,可以发题目的链接看看吗
我测试了一下,our output 里面的数,都在两个(或两个以上)的进制下是回文
我测试的代码,可能不对,仅供参考

#include <stdio.h>
#include <string.h>

char* itoa(int data, char *str, int radix)
{
const char table[] = "0123456789";
char *ret = str;

while (data)
{
*str++ = table[data % radix];
data /= radix;
}
*str = 0;

return ret;
}

int IsOk(char *str)
{
int len = strlen(str);

char *begin = str - 1;
char *last  = str + len;

while (++begin < --last)
{
if (*begin != *last)
return 0;
}

return 1;
}


int IsPanlindom(int data)
{
char str[32]  = { 0 };
int  count = 0;

for (int ix = 2; ix <= 10; ++ix)
{
if (IsOk(itoa(data, str, ix)))
{
count += 1;
}
}

return count >= 2 ? 1 : 0;
}

int main()
{
int count;
int begin;

scanf("%d%d", &count, &begin);

for (int ix = 0; ix < count; ++ix)
{
while (!IsPanlindom(++begin))
;
printf("%d\n", begin);
}

puts("");
return 0;
}
注意题目要求:
finds and prints (in base 10) the first N numbers strictly greater than S that are palindromic when written in two or more number bases (2 <= base <= 10). 

即至少用2种基数表示是回文数的才符合要求.
11只有一种基数(10)表示是回文数,因此不符合题目要求.
题目的意思是,在二到九进制中有一个回文,但是在十进制中不是回文

一个关于.net的ajax组件问题 欢迎加入MSN(VB.NET) 求教一个字符串处理相关问题 自定义控件的疑问? 数据存储 23岁,我的兄弟!!!!! 关于IIS的问题。 怎样打印出宏的内容,为了调试宏是否正确 mysqldump导出后,存储过程中的汉字乱码? 急,懂网络的达人进来看看 饶兴智能科技公司的产品真TMD垃圾。 公务员好 还是 程序员好? 2009.10.21 号在今年是第294天,我现在想通过294推算出2009.10.21 怎么做? C#升星了...散分10,期待自己的C++也升星! 关于SQL SERVER客户端的问题 freetype 内存问题 建策科技培训超低优惠了 #include | #include \"drumtime.h\"这两个有什么区别? 關於 devexpress控件在web上發佈。。。知道的進。。。 asp.net这样写有什么好处呢 根据标签脚本动态生成控件问题 寻找同路人 c#模拟苹果操作系统的动感快捷栏 怎样把本地的图片传上来? 推荐一个详细的velocity的例子 数据库表行列转换 知道局域网中所有pc的MAC地址,如何知道他的IP 关于case when then语句的使用 c# 用移动gprs连接webservice MYSQL的character字符串转换的问题