6174问题

news/2024/10/18 22:26:31/
描述
假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作。例如,从1234出发,依次可以得到4321-1234=3087、8730-378=8352、8532-2358=6174,又回到了它自己!现在要你写一个程序来判断一个四位数经过多少次这样的操作能出现循环,并且求出操作的次数比如输入1234执行顺序是1234->3087->8352->6174->6174,输出是4输入
第一行输入n,代表有n组测试数据。
接下来n行每行都写一个各位数字互不相同的四位数
输出
经过多少次上面描述的操作才能出现循环
样例输入
1
1234
样例输出
4
个人理解:
1:将输入的4位数拆分成4个数字并存入数组
2:将数组排序(从小到大,从大到小都可以)
3:算最大数与最小数的差
4:如此循环,直到出现6174
5:计算循环的次数
6:注意count每次不同的数循环前需要清零
结果时间内存语言
Accepted4240C/C++
代码:
#include<stdio.h>
int main()
{int a,b,count,m,n,c,i,j,t,A[4];scanf("%d",&n);//输入需要测试的组数while(n--){count=0;scanf("%d",&m);//输入需要测试的一个4位数while(m!=6174){A[0]=m%10;A[1]=m/10%10;A[2]=m/100%10;A[3]=m/1000;for(i=0;i<3;i++)//给这四位数从大到小排序{for(j=i+1;j<4;j++){if(A[j]>A[i]){t=A[j];A[j]=A[i];A[i]=t;}}}a=1000*A[0]+100*A[1]+10*A[2]+A[3];//算出由这个四位数组成的最大值b=1000*A[3]+100*A[2]+10*A[1]+A[0];//算出由这个四位数组成的最小值
m=a-b;count++;}printf("%d\n",count+1);}return 0;
}





http://www.ppmy.cn/news/248248.html

相关文章

openstack报错排查

openstack各个组件 openstack要保证各个组件能正常启动 否则创建实例等会报错 在启动openstack的时候 要查看各个服务是否正常启动了&#xff0c;如果有部分服务没有启动&#xff0c;则项目不能正常运行 [rootcontroller ~]# systemctl status open openstack-aodh-api.serv…

Spark执行spark-shell 报错 Cannot create directory /tmp/hive/root/xxx. Name node is in safe mode

1. 问题&#xff1a; Setting default log level to "WARN". To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). 20/11/05 21:03:21 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your pla…

Cannot create directory /tmp/hive/root/...... Name node is in safe mode

因为hadoop的安全模式导致dbeaver不能连接hive报错 Cannot create directory /tmp/hive/root/… Name node is in safe mode 什么原因导致hadoop集群启动安全模式 Df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 32G 0 32G 0% /dev tmpfs 32G 0 32G 0% /dev/shm t…

11.6 MariaDB安装 11.7/11.8/11.9 Apache安装

2019独角兽企业重金招聘Python工程师标准>>> 11.6 MariaDB安装 准备工作 因为MariaDB的二进制包镜像源在国外地址&#xff0c;所以预先下载了该包到本地物理机&#xff0c;使用lrzsz工具将该包上传至虚拟机/usr/local/src目录进行安装。用的香港的云服务器下载 上传…

RTL系列WIFI模组Linux驱动移植

文章目录 1 驱动源码下载2 驱动移植2.1 源码的拷贝2.2 源代码的修改2.3 将wifi 驱动添加到内核中2.3.1 修改 Kconfig 文件2.3.2 修改Makefile2.3.3 配置Linux内核2.3.4 编译 RTL8723BU 驱动模块 3 编译出错解决3.1 _seqdump 错误3.2 __DATE__ 和 __TIME__ 错误3.3 strnicmp错误…

haproxy安装可能出现的问题

问题一&#xff1a; 启动提示错误&#xff1a; haproxy.service: Failed at step EXEC spawning /chris/haproxy/sbin/haproxy: Permission denied 解决方案&#xff1a; SELinux 搞的鬼。 关闭 sed -i s/enforcing/disabled/ /etc/selinux/config #永久 setenforce 0 #临…

2020年第十一届蓝桥杯决赛JAVA B G题“皮亚诺曲线距离“

2020年第十一届蓝桥杯决赛JAVA B G题"皮亚诺曲线距离" 2020国赛 JAVA B组 个人题解目录 【问题描述】 皮亚诺曲线是一条平面内的曲线。 下图给出了皮亚诺曲线的 1 阶情形&#xff0c;它是从左下角出发&#xff0c;经过一个 33 的 方格中的每一个格子&#xff0c;最终…

java实现加减乘除运算符随机生成十道题并判断对错_java——随机口算题(加减乘除随机)...

java——随机口算题(加减乘除随机) import java.util.Scanner; public class jisuan {static int wrongnumber=0; public static void main(String[] args) {for(int i=0;i<5;i++) {System.out.print((i+1)+"."+ ""); int a=(int)(System.currentTimeMi…