博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT 1069 The Black Hole of Numbers[简单]
阅读量:6161 次
发布时间:2019-06-21

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

1069 The Black Hole of Numbers(20 分)

For any 4-digit integer except the ones with all the digits being the same, if we sort the digits in non-increasing order first, and then in non-decreasing order, a new number can be obtained by taking the second number from the first one. Repeat in this manner we will soon end up at the number 6174 -- the black hole of 4-digit numbers. This number is named Kaprekar Constant.

For example, start from 6767, we'll get:

7766 - 6677 = 10899810 - 0189 = 96219621 - 1269 = 83528532 - 2358 = 61747641 - 1467 = 6174... ...

Given any 4-digit number, you are supposed to illustrate the way it gets into the black hole.

Input Specification:

Each input file contains one test case which gives a positive integer N in the range (0,104​​).

Output Specification:

If all the 4 digits of N are the same, print in one line the equation N - N = 0000. Else print each step of calculation in a line until 6174 comes out as the difference. All the numbers must be printed as 4-digit numbers.

Sample Input 1:

6767

Sample Output 1:

7766 - 6677 = 10899810 - 0189 = 96219621 - 1269 = 83528532 - 2358 = 6174

Sample Input 2:

2222

Sample Output 2:

2222 - 2222 = 0000

 题目大意:给定一个四位数,展示出每位数从大到小排列,与从小到大排列的差值,直到出现6174黑洞数停止。

//这道题目是简单的,但是还是遇见了一些问题:

AC:

#include 
#include
#include
#include
#include
using namespace std;int main(){ int n; cin>>n; int a[4],big,small,res=-1; int temp=0; while(res!=6174) { fill(a,a+4,0); while(n!=0) { a[temp++]=n%10; n/=10; //cout<<"kk"; } temp=0; sort(a,a+4);//默认从小到大排列 small=a[0]*1000+a[1]*100+a[2]*10+a[3]; big=a[3]*1000+a[2]*100+a[1]*10+a[0]; if(a[0]==a[1]&&a[1]==a[2]&&a[2]==a[3]) { printf("%04d - %04d = 0000\n",big,small); return 0; } res=big-small; printf("%04d - %04d = %04d\n",big,small,res); n=res; } return 0;}

 

1.第一次忽略了temp=0;应该在使用过后将其赋值为0的;

2. 应该将a数组初始化为0,要不然下次会有影响的,比如在有0位的时候:

3.最后就是提交发现第0个测试点过不去,原来是因为相同数的时候只输出了0,而不是0000!

转载于:https://www.cnblogs.com/BlueBlueSea/p/9584341.html

你可能感兴趣的文章
UML类图简明教程
查看>>
java反编译工具(Java Decompiler)
查看>>
Android开发之自定义对话框
查看>>
微信Access Token 缓存方法
查看>>
Eclipsed的SVN插件不能识别之前工作空间的项目
查看>>
Linux 查看iptables状态-重启
查看>>
amazeui学习笔记一(开始使用2)--布局示例layouts
查看>>
c#中lock的使用(用于预约超出限额的流程)
查看>>
ODI基于源表时间戳字段获取增量数据
查看>>
并发容器之CopyOnWriteArrayList(转载)
查看>>
什么是AAC音频格式 AAC-LC 和 AAC-HE的区别是什么
查看>>
原创:goldengate从11.2升级到12.1.2
查看>>
Quartz
查看>>
正则表达式的语法规则
查看>>
C#一个关于委托和事件通俗易懂的例子
查看>>
类似于SVN的文档内容差异对比工具winmerge
查看>>
Cause: java.sql.SQLException: The user specified as a definer ('root'@'%') does not exist
查看>>
quratz线程
查看>>
execnet: rapid multi-Python deployment
查看>>
windows修改3389端口
查看>>