南阳理工OJ_6174问题

/*  
* 程序的版权和版本声明部分:  
* Copyright (c) 2013,郑州大学SIAS国际学院    
* 作    者:  王  杰
* 完成日期:2013 年 11 月 20 日  
*  
* 对任务及求解方法的描述部分:
* 输入描述: 略或见注释、总结
* 问题描述: 略或见注释、总结
* 程序输出: 略或见注释、总结
* 问题分析: 略或见注释、总结
* 算法设计: 略或见注释、总结
*/




#include<stdio.h>
int main()
{
	int n;
	int p[4],q;
	int a,b,c;
	int t;
	int k;
	scanf("%d",&n);
	while(n--){
		k=0;
		scanf("%d",&q);
		p[0]=q/1000;
		p[1]=q/100%10;
		p[2]=q/10%10;
		p[3]=q%10;
		do{
			for(int j=0;j<3;j++){
				for(int i=0;i<3-j;i++){
					if(p[i]<p[i+1]){
						t=p[i];
						p[i]=p[i+1];
						p[i+1]=t;
					}
				}
			}
			a=p[0]*1000+p[1]*100+p[2]*10+p[3];
			b=p[3]*1000+p[2]*100+p[1]*10+p[0];
			c=a-b;
			k++;
			p[0]=c/1000;
			p[1]=c/100%10;
			p[2]=c/10%10;
			p[3]=c%10;
		}while(c!=6174);
		printf("%d\n",k+1);
		
	}
	return 0;
}


运行结果:


总结:现在逐渐的有种感觉,就是每当AC一道题后,都会想自己的算法是不是有点复杂了。一直想设计出更简单、更精炼、更高效的算法,不知道这算不算是好事?

还有就是这几天由于各方面的原因没有做太多的题,导致手有点生,看来还是得经常练啊...........

现在的总结有时候看起来不仅仅是对题目的总结,有时候还会记录一下自己的心情,不过确实是好事 :)    等若干年以后,再回过头来看看自己写过的代码,那些记录着自己青葱岁月的文字,的确很有意义、很有价值啊,哈哈。这是一笔财富..................    :)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值