回文数的形成。任取一个十进制整数,将其倒过来后与原来的整数相加,得到一个新的整数后,重复以上步骤,最终可得到一个回文数,请编程验证。

回文数的形成。任取一个十进制整数,将其倒过来后与原来的整数相加,得到一个新的整数后,重复以上步骤,最终可得到一个回文数,请编程验证。
**输入格式要求:"%ld" 提示信息:"please enter a number optionaly:"  "The generation process of palindrome:\n"  "  input error, break.\n"  
**输出格式要求:"   [%d]: %ld+%ld=%ld\n"  "Here we reached the aim at last !\n"
程序运行示例如下:
please enter a number optionaly:345
The generation process of palindrome:
   [1]: 345+543=888
Here we reached the aim at last !
#include<stdio.h>
int Exchange(long a)
{
	long c=0;
	while (a)
	{
		c = c * 10 + a % 10;
		a = a / 10;
	}

	return c;// 做出反序数
}
int process(long a)//
{
	long i=1;
	do
	{		
		printf("   [%d]: %ld+%ld=%ld\n",i,a,Exchange(a), Exchange(a) + a);
		a = Exchange(a) + a;
		i++;
	} while (judge(a));
}
int judge(long a)//判断是不是回文数
{
	if(a == Exchange(a))
	{
		return 0;
	}else
	{
		return 1;
	}	
}
int main()
{
	long b,d,sum;	
	printf("please enter a number optionaly:");
	scanf_s("%ld", &b);
	if (b == 0||b> 2147483647){ printf("  input error, break.\n"); }
	else
	{		
		printf("The generation process of palindrome:\n");
		process(b);
		printf("Here we reached the aim at last !\n");
	}
}

上一篇:连锁不平衡LD以及相关式子的推导


下一篇:38_Go基础_1_5 string