NYOJ 57(6174问题)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #include<stdio.h> #include<stdlib.h> int c[4]; void fun( int num, int c[]) { int i=0; while (num>0) /*不能有等号,否则死循环*/ { c[i++]=num%10; num/=10; } } int cmp( const void *a, const void *b) { return *( int *)a-*( int *)b; } int main() { int T,num,a,b,count,ans; int i; scanf ( "%d" ,&T); while (T--) { i=0;count=0;ans=0; scanf ( "%d" ,&num); fun(num,c); while (ans!=6174) { // printf("%d\n",ans); qsort (c,4,4,cmp); a=c[0]*1000+c[1]*100+c[2]*10+c[3]; /*刚开始数字搞混啦*/ b=c[3]*1000+c[2]*100+c[1]*10+c[0]; //printf("%d %d\n",b,a); ans=b-a; //for(i=0;i<888888888;i++); count++; fun(ans,c); } printf ( "%d\n" ,count+1); } return 0; } |
作者:火星十一郎
本文版权归作者火星十一郎所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步