• 回文距离


                        回文距离
    • 编程语言要求:Java C# C C++
    • 难度等级:
    • 有效期: 2014-06-06 至 2015-06-06
    • 答题时长:120分钟

       Njzy在对回文数的学习过程中发现了一个有趣的问题.

    这个问题是求一个数的回文距离。一个数的回文距离的定义是它减去一个回文数的绝对值的最小值。

    比如:121的回文距离就是0,因为|121-121|=0,123的回文距离是2,|123-121|=2

    输入描述:

       输入包含多组测试数据,每组测试数据包含一个整数a,

    (0

    输出描述:

       对于每组测试数据输出相应的答案。

    本题由本人AC,有任何问题请联系fjinhao@qq.com。谢谢

    本题来源:高校俱乐部


    #include <stdio.h>
    
    long long judge(long long n)
    {
    	long long ret = 0, t = n;
    	while (t > 0)                    // 将高低位互换
    	{
    		ret = ret * 10 + t % 10;
    		t = t / 10;
    	};
    	
    	if ( n == ret)
    	t = 1;
    	else 
    	t = 0;
    	return t;
    }
    
    int main()
    {
    	long long n;
    	long long c,q;
    	while ( 1 == scanf("%lld",&n) ) 
    	{
    		c = q = n;
    		if (judge(n))
    		printf("0
    ");
    		else
    		{
    			while(!judge(c))
    			{
    				c++;	
    			}
    			while(!judge(q))
    			{
    				q--;	
    			}	
    			if(n-q >= c-n)
    			printf("%d
    ",c-n);
    			else if ( n-q < c-n)
    			printf("%d
    ",n-q);
    		}
    	}
    	
    	return 0;
    }


  • 相关阅读:
    教你透彻了解红黑树(转)
    算法描述伪代码
    B 树、B+ 树、B* 树
    Java四种引用类型
    Java程序以后台方式在Linux上运行(nohup命令)
    java 文档注释
    Reactor模式和NIO
    Immutable模式与string类的实现
    mina 入门
    索引和优化查询
  • 原文地址:https://www.cnblogs.com/fayne/p/7224838.html
Copyright © 2020-2023  润新知