PAT B1019/A1069 数字黑洞
给定任一个各位数字不完全相同的四位正整数,如果先把四个数字按照非递增排序,再按照非递减排序,然后用第一个数字减第二个数字,将得到一个新的数字,一直重复这样做,很快就会停在有“数字黑洞”之称的6147,这个神奇的数字也叫做Kaprekar常数。
例如:
6767
7766-6677=1089
9810-0189=9621
9621-1269=8352
8532-2358=6174
//数字黑洞
#include<iostream>
#include<algorithm>
using namespace std; bool cmp(int a,int b)
{
return a>b;//递减排序cmp
} void to_arry(int n,int num[])
{
for(int i=0;i<4;i++)//将n的每一位都存到数组里面
{
num[i] = n%10;
n /=10;
}
} int to_number(int num[])//将数组的内容转换为数字
{
int sum=0;
for(int i=0;i<4;i++)
{
sum = sum*10+num[i];
}
return sum;
} int main()
{
//MIN和MAX分别表示递增排序和递减排序后得到的最大值和最小值
int n,MIN,MAX;
cin>>n;
int num[5];
while(1)
{
to_arry(n,num);
sort(num,num+4);
MIN=to_number(num);//获取最小值
sort(num,num+4,cmp);
MAX=to_number(num);
n=MAX-MIN;
printf("%04d-%04d=%04d\n",MAX,MIN,n);
if(n==0||n==6174) break;
}
return 0;
}
PAT B1019/A1069 数字黑洞的更多相关文章
- PAT(B) 1019 数字黑洞(Java)
题目链接:1019 数字黑洞 (20 point(s)) 分析 输入正整数n后,将n转成int型数组nArr[4] 用Arrays.sort(int[] a)方法将数组nArr非递减排序 很显然,非递 ...
- PAT乙级 1019. 数字黑洞 (20)
1019. 数字黑洞 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定任一个各位数字不完全相同的4位 ...
- PAT 乙级 1019 数字黑洞 (20) C++版
1019. 数字黑洞 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定任一个各位数字不完全相同的4位 ...
- 【PAT】1019 数字黑洞 (20)(20 分)
1019 数字黑洞 (20)(20 分) 给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做, ...
- PAT 乙级 1019.数字黑洞 C++/Java
题目来源 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有 ...
- PAT Basic 1019 数字黑洞 (20 分)
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有“数字黑洞 ...
- B1019 数字黑洞 (20分)
B1019 数字黑洞 (20分) 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复 ...
- PAT 1019. 数字黑洞 (20)
给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有"数字黑洞&qu ...
- PAT (Basic Level) Practise:1019. 数字黑洞
[题目链接] 给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有“数字黑洞” ...
随机推荐
- svn服务器IP/URL地址更换,修改本地的仓库地址
TortoiseSVN服务器ip地址修改后如何使用_windows和linux下svn切换新仓库地址的方法 windows下svn切换仓库地址 右键项目文件夹 TortoiseSVN => Re ...
- 运行时Runtime的API
const char * class_getName(Class cls); 返回类的名称. Class class_getSuperclass(Class cls); 返回类的超类. Class c ...
- Informatica PowerCenter 常用转换组件一览表
原文地址:https://blog.csdn.net/yongjian1092/article/details/52176018 转换类型: 积极转换(Active):可以更改通过它来传递的数据行数, ...
- 【代码总结】PHP面向对象之类与对象
一.类和对象的关系 类的实体化结果是对象,而对象的抽象就是类.在开发过程中,我们通常都是先抽象(幻想)出一个类,再用该类去创建对象(实现幻想的内容).在程序中,直接使用的是我们(实现幻想)的对象,而不 ...
- pta谁先倒
传送门 #include <stdio.h> int main() { int x,y;//酒量 scanf("%d%d",&x,&y); int n; ...
- 吴裕雄 python 神经网络——TensorFlow训练神经网络:不使用指数衰减的学习率
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data INPUT_NODE = 784 ...
- Nexus升级、license安装和恢复密码
原文链接:https://blog.csdn.net/ligang636/article/details/42386639 一.Nexus系列物理硬件1.1 Nexus 7010 1.2 Nexus ...
- Nexus-VDC(Virtual Device Context)
VDC实际上是将一台物理的Nexus7K设备虚拟为多个逻辑的VDC设备,该术语叫做VDC(Virtual Device Context),该虚拟技术实际上是在一个物理设备架构和内核上运行多个VDC,已 ...
- 【原】jenkins知识点_凭据(一)
一:凭据 1.目的: 与第三方网站或应用程序进行交互,如代码仓库.云存储系统和服务等 2.操作路径: Jenkins-凭据-系统-全局凭据 3.权限 Jenkins 中保存的凭证可以用于: 任何适用于 ...
- linux文件的查找和检索
1)按文件属性查找 1)文件名: find + 查找的目录 + -name + "文件名" 文件名中可以使用通配符:*号表示多个,?号表示一个 2)文件大小: fin ...