zoukankan      html  css  js  c++  java
  • 回文距离

                        回文距离
    • 编程语言要求: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;
    }


  • 相关阅读:
    斜率dp cdq 分治
    POJ2449 (k短路)
    BZOJ1576 (最短路+并查集)
    SWUST0249 (凸包面积)
    道路修建 (网络流)
    HDU3930 (原根)
    ZOJ2006 (后缀自动机)
    Codechef2015 May
    后缀自动机
    Digit (数位DP)
  • 原文地址:https://www.cnblogs.com/fayne/p/7224838.html
Copyright © 2011-2022 走看看