博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
南阳理工57---6174问题
阅读量:5023 次
发布时间:2019-06-12

本文共 983 字,大约阅读时间需要 3 分钟。

6174问题

时间限制:
1000 ms  |  内存限制:65535 KB
难度:
2
 
描述

假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作。例如,从1234出发,依次可以得到4321-1234=3087、8730-378=8352、8532-2358=6174,又回到了它自己!现在要你写一个程序来判断一个四位数经过多少次这样的操作能出现循环,并且求出操作的次数

比如输入1234执行顺序是1234->3087->8352->6174->6174,输出是4

 
输入
第一行输入n,代表有n组测试数据。
接下来n行每行都写一个各位数字互不相同的四位数
输出
经过多少次上面描述的操作才能出现循环
样例输入
11234
样例输出
4
来源
上传者

 

#include
#include
#include
using namespace std;void fun(int m,int a[]){ int count=0; while(m>0) { a[count++]=m%10; m=m/10; } sort(a,a+count);}int main(){ int n,m; int a[100]; cin>>n; while(n--) { int t=0; cin>>m; while(1) { fun(m,a); t++; m=(a[3]*1000+a[2]*100+a[1]*10+a[0])-(a[0]*1000+a[1]*100+a[2]*10+a[3]); if(m==6174) break; } cout<
<

  

转载于:https://www.cnblogs.com/NYNU-ACM/p/4248727.html

你可能感兴趣的文章
三、模版的使用
查看>>
hihoCoder 1174 拓扑排序·一
查看>>
git 的更新代码的取消
查看>>
UVA - 1103 Ancient Messages
查看>>
《数据挖掘与数据化运营实战 思路、方法、技巧与应用》—— 读书笔记
查看>>
office note 解决标签页消失的问题
查看>>
现代密码学:RSA算法
查看>>
Core Image 制作自己的美图秀秀
查看>>
每天一个随笔
查看>>
-------------------python博客目录:-------------------
查看>>
【CSS3】用i标签用作小图标
查看>>
ecshop 网站
查看>>
随机森林(Random Forest)
查看>>
SQL数据库约束
查看>>
当今世界最为经典的十大算法--投票进行时
查看>>
SpringMVC(十六) 处理模型数据之SessionAttributes
查看>>
阅读笔记01
查看>>
mysql设置有外键的主键自增及其他
查看>>
laravel常用函数大全Helper
查看>>
poj2299 Ultra-QuickSort
查看>>